[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