On 01/19/2013 08:55 PM, Paul Eggert wrote:
Does the following fix things?
No, it just causes a different error:
gcc -std=gnu99 -DHAVE_CONFIG_H -DEXEEXT=\"\" -DEXEEXT=\"\"
-DNO_XMALLOC -DEXEEXT=\"\" -I. -I.. -DGNULIB_STRICT_CHECKING=1
-I../intl -I/usr/tgcware/include -D_REENTRANT -g -O2 -c -o
dtotimespec.o dtotimespec.c
In file included from
/usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/sys/types.h:431,
from ./sys/types.h:27,
from /usr/include/sys/time.h:71,
from ./sys/time.h:38,
from
/usr/tgcware/gcc-4.3.6/lib/gcc/sparc-sun-solaris2.6/4.3.6/include-fixed/time.h:102,
from ./time.h:39,
from timespec.h:22,
from dtotimespec.c:25:
./sys/select.h:547: error: expected ';', ',' or ')' before '*' token
This is because gnulib <sys/select.h> needs struct timespec and
<sys/time.h> which defines it is still not parsed.
If it doesn't fix things, what is the
include pattern for "#include<time.h>" when Gnulib isn't involved?
as that will help us decide how to break the circularity better.
Just including system <time.h> shows this include chain:
<time.h> -> <sys/time.h> (defines struct timeval needed by
<sys/select.h>) -> <sys/types.h> -> <sys/select.h> -> returns to finish
<sys/types.h> -> returns to finish <sys/time.h>, at this point struct
timespec and struct timestruc_t is defined -> returns to <time.h> ->
<sys/siginfo.h> -> returns to finish <time.h>
-tgc