The gcc directory contains the following subdirectories:
Subdirectories for various languages. Directories containing a file config-lang.in are language subdirectories. The contents of the subdirectories c (for C), cp (for C++), objc (for Objective-C), objcp (for Objective-C++), and lto (for LTO) are documented in this manual (see Passes and Files of the Compiler); those for other languages are not. See Anatomy of a Language Front End, for details of the files in these directories.
Source files shared between the compiler drivers (such as
gcc) and the compilers proper (such as cc1). If an
architecture defines target hooks shared between those places, it also
has a subdirectory in common/config. See Target Structure.
Configuration files for supported architectures and operating systems. See Anatomy of a Target Back End, for details of the files in this directory.
Texinfo documentation for GCC, together with automatically generated man pages and support for converting the installation manual to HTML. See Documentation.
System headers installed by GCC, mainly those required by the C standard of freestanding implementations. See Headers Installed by GCC, for details of when these and other headers are installed.
Message catalogs with translations of messages produced by GCC into
various languages, language.po. This directory also
contains gcc.pot, the template for these message catalogues,
exgettext, a wrapper around
gettext to extract the
messages from the GCC sources and create gcc.pot, which is run
by ‘make gcc.pot’, and EXCLUDES, a list of files from
which messages should not be extracted.
The GCC testsuites (except for those for runtime libraries). See Testsuites.