gccint: Headers

1 
1 6.3.6 Headers Installed by GCC
1 ------------------------------
1 
1 In general, GCC expects the system C library to provide most of the
1 headers to be used with it.  However, GCC will fix those headers if
1 necessary to make them work with GCC, and will install some headers
1 required of freestanding implementations.  These headers are installed
1 in 'LIBSUBDIR/include'.  Headers for non-C runtime libraries are also
1 installed by GCC; these are not documented here.  (FIXME: document them
1 somewhere.)
1 
1  Several of the headers GCC installs are in the 'ginclude' directory.
1 These headers, 'iso646.h', 'stdarg.h', 'stdbool.h', and 'stddef.h', are
1 installed in 'LIBSUBDIR/include', unless the target Makefile fragment
1 (⇒Target Fragment) overrides this by setting 'USER_H'.
1 
1  In addition to these headers and those generated by fixing system
1 headers to work with GCC, some other headers may also be installed in
1 'LIBSUBDIR/include'.  'config.gcc' may set 'extra_headers'; this
1 specifies additional headers under 'config' to be installed on some
1 systems.
1 
1  GCC installs its own version of '<float.h>', from 'ginclude/float.h'.
1 This is done to cope with command-line options that change the
1 representation of floating point numbers.
1 
1  GCC also installs its own version of '<limits.h>'; this is generated
1 from 'glimits.h', together with 'limitx.h' and 'limity.h' if the system
1 also has its own version of '<limits.h>'.  (GCC provides its own header
1 because it is required of ISO C freestanding implementations, but needs
1 to include the system header from its own header as well because other
1 standards such as POSIX specify additional values to be defined in
1 '<limits.h>'.)  The system's '<limits.h>' header is used via
1 'LIBSUBDIR/include/syslimits.h', which is copied from 'gsyslimits.h' if
1 it does not need fixing to work with GCC; if it needs fixing,
1 'syslimits.h' is the fixed copy.
1 
1  GCC can also install '<tgmath.h>'.  It will do this when 'config.gcc'
1 sets 'use_gcc_tgmath' to 'yes'.
1