This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Win32 cross compiler for AVR?


Hi Jyrki et. al.,

> I ... had to delete the libstdc++ directory from gcc
> source directory in order to get the C++ compiling.

Thanks for the suggestion... I removed the libstdc++ directory, and then:

'configure --target=avr' worked OK (as before).

'make' then failed when compiling libgcc2.c (see below for details). From
looking at the error messages and source files, I don't know why! Any ideas?

I'm also a bit suspicious about the include chain... line 36 of longlong.h
doesn't #include tconfig.h (in fact longlong.h doesn't include ANY files!).
Interestingly, line 36 of libgcc2.c DOES #include tconfig.h. Is something
odd going on here, or am I misinterpreting things?

Finally, I also noticed the error message:
  config/avr/avr.h:1190: parse error before "bogus_type"

Does this mean anything obvious? (Clearly, the compiler's already come
across the '#define int bogus_type' & similar declarations in libgcc2.h, but
I don't know how it's managed it before avr.h!)

Thanks everyone for your continuing assistance,

Chris.

---------------------


/home/cmd33/gcc/gcc/xgcc -B/home/cmd33/gcc/gcc/ -B/usr/local/avr/bin/ -B/usr
/loc
al/avr/lib/ -isystem
r/local/avr/include -O2  -DCROSS_COMPILE -DIN_GCC    -W
-Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem
./includ
e  -DDF=SF -Dinhibit_libc -mcall-prologues -g1  -DIN_LIBGCC2 -D__GCC_FLOAT_N
OT_N
EEDED -Dinhibit_libc -I. -I. -I. -I./. -I./config -I./../include  -DL_muldi3
 -c
./libgcc2.c -o libgcc/./_muldi3.o
In file included from tm.h:6,
                 from config/avr/xm-avr.h:1,
                 from tconfig.h:6,
                 from longlong.h:36,
                 from libgcc2.h:320,
                 from ./libgcc2.c:46:
config/avr/avr.h:46: parse error before "target_flags"
config/avr/avr.h:46: warning: type defaults to `int' in declaration of
`target_f
lags'
config/avr/avr.h:46: warning: data definition has no type or storage class
config/avr/avr.h:135: parse error before '*' token
config/avr/avr.h:135: warning: type defaults to `int' in declaration of
`avr_ini
t_stack'
config/avr/avr.h:135: conflicting types for `avr_init_stack'
config/avr/avr.h:135: previous declaration of `avr_init_stack'
config/avr/avr.h:135: warning: data definition has no type or storage class
config/avr/avr.h:136: parse error before '*' token
config/avr/avr.h:136: warning: type defaults to `int' in declaration of
`avr_mcu
_name'
config/avr/avr.h:136: conflicting types for `avr_mcu_name'
config/avr/avr.h:136: previous declaration of `avr_mcu_name'
config/avr/avr.h:136: warning: data definition has no type or storage class
config/avr/avr.h:137: parse error before "avr_mega_p"
config/avr/avr.h:137: warning: type defaults to `int' in declaration of
`avr_meg
a_p'
config/avr/avr.h:137: warning: data definition has no type or storage class
config/avr/avr.h:138: parse error before "avr_enhanced_p"
config/avr/avr.h:138: warning: type defaults to `int' in declaration of
`avr_enh
anced_p'
config/avr/avr.h:138: warning: data definition has no type or storage class
config/avr/avr.h:543: redeclaration of `enum reg_class'
config/avr/avr.h:544: conflicting types for `NO_REGS'
config/avr/avr.h:544: previous declaration of `NO_REGS'
config/avr/avr.h:545: conflicting types for `R0_REG'
config/avr/avr.h:545: previous declaration of `R0_REG'
config/avr/avr.h:546: conflicting types for `POINTER_X_REGS'
config/avr/avr.h:546: previous declaration of `POINTER_X_REGS'
config/avr/avr.h:547: conflicting types for `POINTER_Y_REGS'
config/avr/avr.h:547: previous declaration of `POINTER_Y_REGS'
config/avr/avr.h:548: conflicting types for `POINTER_Z_REGS'
config/avr/avr.h:548: previous declaration of `POINTER_Z_REGS'
config/avr/avr.h:549: conflicting types for `STACK_REG'
config/avr/avr.h:549: previous declaration of `STACK_REG'
config/avr/avr.h:550: conflicting types for `BASE_POINTER_REGS'
config/avr/avr.h:550: previous declaration of `BASE_POINTER_REGS'
config/avr/avr.h:551: conflicting types for `POINTER_REGS'
config/avr/avr.h:551: previous declaration of `POINTER_REGS'
config/avr/avr.h:552: conflicting types for `ADDW_REGS'
config/avr/avr.h:552: previous declaration of `ADDW_REGS'
config/avr/avr.h:553: conflicting types for `SIMPLE_LD_REGS'
config/avr/avr.h:553: previous declaration of `SIMPLE_LD_REGS'
config/avr/avr.h:554: conflicting types for `LD_REGS'
config/avr/avr.h:554: previous declaration of `LD_REGS'
config/avr/avr.h:555: conflicting types for `NO_LD_REGS'
config/avr/avr.h:555: previous declaration of `NO_LD_REGS'
config/avr/avr.h:556: conflicting types for `GENERAL_REGS'
config/avr/avr.h:556: previous declaration of `GENERAL_REGS'
config/avr/avr.h:557: conflicting types for `ALL_REGS'
config/avr/avr.h:557: previous declaration of `ALL_REGS'
config/avr/avr.h:558: conflicting types for `LIM_REG_CLASSES'
config/avr/avr.h:558: previous declaration of `LIM_REG_CLASSES'
config/avr/avr.h:1189: redefinition of `struct avr_args'
config/avr/avr.h:1190: parse error before "bogus_type"
config/avr/avr.h:1190: warning: no semicolon at end of struct or union
config/avr/avr.h:1191: warning: type defaults to `int' in declaration of
`regno'

config/avr/avr.h:1191: warning: data definition has no type or storage class
config/avr/avr.h:1192: warning: useless keyword or type name in empty
declaratio
n
config/avr/avr.h:1192: warning: empty declaration
config/avr/avr.h:1246: parse error before "avr_reg_order"
config/avr/avr.h:1246: warning: type defaults to `int' in declaration of
`avr_re
g_order'
config/avr/avr.h:1246: warning: data definition has no type or storage class
config/avr/avr.h:2770: parse error before "avr_case_values_threshold"
config/avr/avr.h:2770: warning: type defaults to `int' in declaration of
`avr_ca
se_values_threshold'
config/avr/avr.h:2770: warning: data definition has no type or storage class
In file included from libgcc2.h:320,
                 from ./libgcc2.c:46:
longlong.h: In function `__muldi3':
longlong.h:362: warning: implicit declaration of function `__umulsidi3'
In file included from libgcc2.h:320,
                 from ./libgcc2.c:46:
longlong.h:2321:12: warning: no newline at end of file
longlong.h:1511:1: unterminated #ifndef
longlong.h:1508:1: unterminated #else
longlong.h:1488:1: unterminated #ifdef
./libgcc2.c: At top level:
./libgcc2.c:354: parse error before "__muldi3"
./libgcc2.c:354: parse error before "u"
./libgcc2.c:355: warning: return type defaults to `int'
./libgcc2.c:355: conflicting types for `__muldi3'
longlong.h:355: previous declaration of `__muldi3'
./libgcc2.c: In function `__muldi3':
./libgcc2.c:359: `u' undeclared (first use in this function)
./libgcc2.c:359: (Each undeclared identifier is reported only once
./libgcc2.c:359: for each function it appears in.)
./libgcc2.c:360: `v' undeclared (first use in this function)
./libgcc2.c:360: warning: left-hand operand of comma expression has no
effect
./libgcc2.c:363: `UWtype' undeclared (first use in this function)
./libgcc2.c:363: parse error before "uu"
./libgcc2.c: At top level:
config/avr/avr.h:1246: warning: array `avr_reg_order' assumed to have one
elemen
t
make[2]: *** [libgcc/./_muldi3.o] Error 1
make[2]: Leaving directory `/home/cmd33/gcc/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/home/cmd33/gcc/gcc'
make: *** [all-gcc] Error 2



------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]