[ECOS] Macro problem with gcc and eCos
Nielsen Linus
Linus.Nielsen@elema.siemens.se
Thu Apr 19 06:10:00 GMT 2001
This looks like a CR/LF problem. AFAIK, the GCC preprocessor isn't
always too happy about text files that end with CR/LF.
Try to remove the CR's and compile again.
/Linus
> Hi,
>
> I have problems when I compile my application together with eCos
> using gcc for ARM. When I try to compile the code section with
> VC++ it works without problem.
>
<snippe
> The eCos code I got problem with looks like this:
>
> ------snip--------
> #define CYG_MACRO_START do{
> #define CYG_MACRO_END }while (0)
>
> #define CYG_EMPTY_STATEMENT CYG_MACRO_START CYG_MACRO_END
>
> #define CYG_UNUSED_PARAM( _type_, _name_ ) CYG_MACRO_START \
> _type_ __tmp1 = (_name_); \
> _type_ __tmp2 = __tmp1; \
> __tmp1 = __tmp2; \
> CYG_MACRO_END
> -------end snip----
>
>
> It gives me the following error:
>
> ------snip--------
> arm-elf-gcc -mcpu=arm7tdmi -c -o
> twothreads.o -g
> -Wall -I/ecos-work/include -ffunct
> ion-sections -fdata-sections twothreads.c
> In file included from /ecos-work/include/cyg/kernel/kapi.h:53,
> from twothreads.c:1:
> /ecos-work/include/cyg/infra/cyg_type.h:169: parse error
> before `__tmp1'
> /ecos-work/include/cyg/infra/cyg_type.h:169: warning: type
> defaults to `int'
> in declaration of `__tmp1'
> /ecos-work/include/cyg/infra/cyg_type.h:169: `_name_'
> undeclared here (not
> in a function)
> /ecos-work/include/cyg/infra/cyg_type.h:169: warning: data
> definition has no
> type or storage class
> -------end snip----
>
> Does anyone know what the problem is?
>
> /Daniel
>
More information about the Ecos-discuss
mailing list