This is the mail archive of the gcc-help@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?


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.

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



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