This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

__STDC__ == 0 in System Headers on Solaris?


I didn't get any response on gcc-help.  Hopefully the developer
community can let me know what is going on!

-------------------------------------

Hi, all - need a little help with gcc 3.2.2, __STDC__, and the solaris
2.9 system header files.

If __STDC__ != 0, then <sys/types.h> will define longlong to be a
composite type, which messes up all of the large file stuff.  In past
GCC versions, I have been successful is redefining __STDC__ to 0 so that
everything works correctly.  OK, I know, very kludgy, but I didn't see
any other choice at the time.  Now, GCC is VERY stringent about __STDC__
redefinition, and I don't see an out without putting up with reams of
__STDC__ redefined warning messages (nor do I wish to patch gcc to get
rid of the message).

When I dealt with this is past versions, I noticed a note in the GCC
documentation stating that on systems with a convention of __STDC__=0,
GCC would use a 0 value when scanning system header files.  Indeed, this
feature seems to be enabled in the Solaris 2.x support
(STDC_0_IN_SYSTEM_HEADERS, or some such define).  Yet, this doesn't seem
to be having any effect - __STDC__ is still 1.

Am I completely misunderstanding this feature?  Help please!  I would
like to do this correctly and have longlong be defined as the correct
atomic type (long long).

 

Thanks!

Jeff
Please reply directly (I am not on the developers' list)




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]