Yaakov (Cygwin/X) wrote: > <sys/signal.h> #includes <sys/types.h> only #ifdef _POSIX_THREADS, which > is not defined if the -ansi compiler flag is passed. STC: > > $ echo '#include <signal.h>' > test-signal.c > > $ gcc-4 -ansi -c test-signal.c > In file included from /usr/include/sys/signal.h:107, > from /usr/include/signal.h:5, > from test.c:1: > /usr/include/cygwin/signal.h:74: error: expected > specifier-qualifier-list before 'pthread_attr_t' > /usr/include/cygwin/signal.h:80: error: expected > specifier-qualifier-list before '__uint32_t' > /usr/include/cygwin/signal.h:96: error: expected > specifier-qualifier-list before 'pid_t' > /usr/include/cygwin/signal.h:270: error: expected ')' before 'int' > In file included from /usr/include/signal.h:5, > from test.c:1: > /usr/include/sys/signal.h:152: error: expected ')' before 'int'
Posix realtime signals are an extension to the standard C90 spec. The "-ansi" documentation mentions this: The macro `__STRICT_ANSI__' is predefined when the `-ansi' option is used. Some header files may notice this macro and refrain from declaring certain functions or defining certain macros that the ISO standard doesn't call for; this is to avoid interfering with any programs that might use these names for other things. Should signal.h perhaps wrap the stuff tagged 'CX' and 'RTS' at http://www.opengroup.org/onlinepubs/009695399/basedefs/signal.h.html in #ifndef __STICT_ANSI__ ? cheers, DaveK -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/