<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2015 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Funding Free Software", the Front-Cover
Texts being (a) (see below), and with the Back-Cover Texts being (b)
(see below).  A copy of the license is included in the section entitled
"GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Compiler Collection (GCC) Internals: Headers</title>

<meta name="description" content="GNU Compiler Collection (GCC) Internals: Headers">
<meta name="keywords" content="GNU Compiler Collection (GCC) Internals: Headers">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="gcc-Directory.html#gcc-Directory" rel="up" title="gcc Directory">
<link href="Documentation.html#Documentation" rel="next" title="Documentation">
<link href="Library-Files.html#Library-Files" rel="prev" title="Library Files">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Headers"></a>
<div class="header">
<p>
Next: <a href="Documentation.html#Documentation" accesskey="n" rel="next">Documentation</a>, Previous: <a href="Library-Files.html#Library-Files" accesskey="p" rel="prev">Library Files</a>, Up: <a href="gcc-Directory.html#gcc-Directory" accesskey="u" rel="up">gcc Directory</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Headers-Installed-by-GCC"></a>
<h4 class="subsection">6.3.6 Headers Installed by GCC</h4>

<p>In general, GCC expects the system C library to provide most of the
headers to be used with it.  However, GCC will fix those headers if
necessary to make them work with GCC, and will install some headers
required of freestanding implementations.  These headers are installed
in <samp><var>libsubdir</var>/include</samp>.  Headers for non-C runtime
libraries are also installed by GCC; these are not documented here.
(FIXME: document them somewhere.)
</p>
<p>Several of the headers GCC installs are in the <samp>ginclude</samp>
directory.  These headers, <samp>iso646.h</samp>,
<samp>stdarg.h</samp>, <samp>stdbool.h</samp>, and <samp>stddef.h</samp>,
are installed in <samp><var>libsubdir</var>/include</samp>,
unless the target Makefile fragment (see <a href="Target-Fragment.html#Target-Fragment">Target Fragment</a>)
overrides this by setting <code>USER_H</code>.
</p>
<p>In addition to these headers and those generated by fixing system
headers to work with GCC, some other headers may also be installed in
<samp><var>libsubdir</var>/include</samp>.  <samp>config.gcc</samp> may set
<code>extra_headers</code>; this specifies additional headers under
<samp>config</samp> to be installed on some systems.
</p>
<p>GCC installs its own version of <code>&lt;float.h&gt;</code>, from <samp>ginclude/float.h</samp>.
This is done to cope with command-line options that change the
representation of floating point numbers.
</p>
<p>GCC also installs its own version of <code>&lt;limits.h&gt;</code>; this is generated
from <samp>glimits.h</samp>, together with <samp>limitx.h</samp> and
<samp>limity.h</samp> if the system also has its own version of
<code>&lt;limits.h&gt;</code>.  (GCC provides its own header because it is
required of ISO C freestanding implementations, but needs to include
the system header from its own header as well because other standards
such as POSIX specify additional values to be defined in
<code>&lt;limits.h&gt;</code>.)  The system&rsquo;s <code>&lt;limits.h&gt;</code> header is used via
<samp><var>libsubdir</var>/include/syslimits.h</samp>, which is copied from
<samp>gsyslimits.h</samp> if it does not need fixing to work with GCC; if it
needs fixing, <samp>syslimits.h</samp> is the fixed copy.
</p>
<p>GCC can also install <code>&lt;tgmath.h&gt;</code>.  It will do this when
<samp>config.gcc</samp> sets <code>use_gcc_tgmath</code> to <code>yes</code>.
</p>
<hr>
<div class="header">
<p>
Next: <a href="Documentation.html#Documentation" accesskey="n" rel="next">Documentation</a>, Previous: <a href="Library-Files.html#Library-Files" accesskey="p" rel="prev">Library Files</a>, Up: <a href="gcc-Directory.html#gcc-Directory" accesskey="u" rel="up">gcc Directory</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>
