amoss@SHUM.HUJI.AC.IL (Amos Shapira) (10/26/90)
Hello, While installin GCC 1.37.1 on Iris 4D under Irix 3.3, I found that programs which refference sys_siglist compile and resolve this refference when compiled by the regular cc and not when compiled with GCC. When I #define __EXTENSIONS__ and include <signal.h> things work O.K. cc(1) doesn't define it when calling cpp (from running "cc -v"). And it seems that cpp define this internally. I didn't find any mention of sys_siglist under /usr/include/*.h nor under /usr/include/sys/*.h. Also the only refferences in /usr/lib describe sys_siglist as an external symbol, none of them define it. What happens here? Thanks in advance, Amos Shapira amoss@batata.huji.ac.il
moraes@cs.toronto.edu (Mark Moraes) (10/27/90)
It would appear that #ifdef __EXTENSIONS__ encloses all non-ANSI stuff in the header files. Presumably, if __EXTENSIONS__ were undefined, the SGI header files would strictly conform to the ANSI namespace. I can't find a way to turn off __EXTENSIONS__, short of putting undef's in my code. [gcc will turn it off with -ansi, which I hope is correct] Of course, lots of things stop working once you turn off __EXTENSIONS__.