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]

'xm_defines=POSIX'


The line 'xm_defines=POSIX' is pervasive in config.gcc.
This gets used in build_xm_defines, host_xm_defines, and target 
xm_defines.  I don't think *any* of it is necessary, but I want some 
more expert advice.

'#ifdef POSIX' is only used a little in GCC code; in tsystem.h, which I 
believe is only included in files compiled only for the target machine.
This should mean that its inclusion in "host_xm_defines" and 
"build_xm_defines" is irrelevant.

Unless system headers on build or host machines behave differently when
"POSIX" is defined, in which case I'm not sure what to do.  (Preferably
define it all the time?)

In the target case, it seems that the right thing to do is to synthesize
"time.h" and "string.h" in "fixproto" if they don't exist.  It *looks* 
simple to do, but I don't understand this stuff perfectly.  Is it 
sufficient to use the existing machinery to create 
empty-except-for-multiple-include-protection versions of time.h and 
string.h, and run fixheader on each of them?  

It looks like this is all that needs to be done to allow the removal of
the POSIX define entirely.  What am I missing, if anything?

--Nathanael


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