[C2hs] c2hs on CygWin

Will Thompson will at willthompson.co.uk
Thu Apr 13 14:32:37 EDT 2006


On Thu, Apr 13, 2006 at 12:14:03PM -0500, Rich Fought wrote:
> c2hs.exe: Error in C header file.
> 
> /usr/include/cygwin/signal.h:56: (column 4) [FATAL] 
>   >>> Syntax error!
>   The symbol `;' does not fit here.
> 
> The portion of signal.h it does like is:
> 
> struct _sigcommune
> {
>   __uint32_t _si_code;
>   void *_si_read_handle;
>   void *_si_write_handle;
>   void *_si_process_handle;
>   union
>   {
>     int _si_fd;
>     void *_si_pipe_fhandler;
>     char *_si_str;
>   }; <---- this is what it is complaining about
> };
> 
> It appears that the c2hs Parser does not like this form?

I've had this problem too. The problem also exists with unnamed structs.
Unnamed structs and unions are not ANSI C, but GCC and other compilers
accept them. I can't find any reference to them being valid C99 either.
It'd be handy if c2hs understood them, though. :-)

http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Unnamed-Fields.html#Unnamed-Fields

wjt


More information about the C2hs mailing list