summaryrefslogtreecommitdiff
path: root/gcc/doc/gccint.texi
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /gcc/doc/gccint.texi
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'gcc/doc/gccint.texi')
-rw-r--r--gcc/doc/gccint.texi200
1 files changed, 200 insertions, 0 deletions
diff --git a/gcc/doc/gccint.texi b/gcc/doc/gccint.texi
new file mode 100644
index 000000000..d4a8a583c
--- /dev/null
+++ b/gcc/doc/gccint.texi
@@ -0,0 +1,200 @@
+\input texinfo @c -*-texinfo-*-
+@c %**start of header
+@setfilename gccint.info
+@c INTERNALS is used by md.texi to determine whether to include the
+@c whole of that file, in the internals manual, or only the part
+@c dealing with constraints, in the user manual.
+@set INTERNALS
+
+@c See miscellaneous notes in gcc.texi on checks/things to do.
+
+@include gcc-common.texi
+
+@settitle GNU Compiler Collection (GCC) Internals
+
+@c Create a separate index for command line options.
+@defcodeindex op
+@c Merge the standard indexes into a single one.
+@syncodeindex fn cp
+@syncodeindex vr cp
+@syncodeindex ky cp
+@syncodeindex pg cp
+@syncodeindex tp cp
+
+@paragraphindent 1
+
+@c %**end of header
+
+@copying
+Copyright @copyright{} 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
+2008, 2010 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.
+@end copying
+@ifnottex
+@dircategory Software development
+@direntry
+* gccint: (gccint). Internals of the GNU Compiler Collection.
+@end direntry
+This file documents the internals of the GNU compilers.
+@sp 1
+@insertcopying
+@sp 1
+@end ifnottex
+
+@setchapternewpage odd
+@titlepage
+@title GNU Compiler Collection Internals
+@versionsubtitle
+@author Richard M. Stallman and the @sc{GCC} Developer Community
+@page
+@vskip 0pt plus 1filll
+@insertcopying
+@end titlepage
+@summarycontents
+@contents
+@page
+
+@node Top, Contributing,, (DIR)
+@top Introduction
+@cindex introduction
+
+This manual documents the internals of the GNU compilers, including
+how to port them to new targets and some information about how to
+write front ends for new languages. It corresponds to the compilers
+@ifset VERSION_PACKAGE
+@value{VERSION_PACKAGE}
+@end ifset
+version @value{version-GCC}. The use of the GNU compilers is documented in a
+separate manual. @xref{Top,, Introduction, gcc, Using the GNU
+Compiler Collection (GCC)}.
+
+This manual is mainly a reference manual rather than a tutorial. It
+discusses how to contribute to GCC (@pxref{Contributing}), the
+characteristics of the machines supported by GCC as hosts and targets
+(@pxref{Portability}), how GCC relates to the ABIs on such systems
+(@pxref{Interface}), and the characteristics of the languages for
+which GCC front ends are written (@pxref{Languages}). It then
+describes the GCC source tree structure and build system, some of the
+interfaces to GCC front ends, and how support for a target system is
+implemented in GCC@.
+
+Additional tutorial information is linked to from
+@uref{http://gcc.gnu.org/readings.html}.
+
+@menu
+* Contributing:: How to contribute to testing and developing GCC.
+* Portability:: Goals of GCC's portability features.
+* Interface:: Function-call interface of GCC output.
+* Libgcc:: Low-level runtime library used by GCC.
+* Languages:: Languages for which GCC front ends are written.
+* Source Tree:: GCC source tree structure and build system.
+* Testsuites:: GCC testsuites.
+* Options:: Option specification files.
+* Passes:: Order of passes, what they do, and what each file is for.
+* GENERIC:: Language-independent representation generated by Front Ends
+* GIMPLE:: Tuple representation used by Tree SSA optimizers
+* Tree SSA:: Analysis and optimization of GIMPLE
+* RTL:: Machine-dependent low-level intermediate representation.
+* Control Flow:: Maintaining and manipulating the control flow graph.
+* Loop Analysis and Representation:: Analysis and representation of loops
+* Machine Desc:: How to write machine description instruction patterns.
+* Target Macros:: How to write the machine description C macros and functions.
+* Host Config:: Writing the @file{xm-@var{machine}.h} file.
+* Fragments:: Writing the @file{t-@var{target}} and @file{x-@var{host}} files.
+* Collect2:: How @code{collect2} works; how it finds @code{ld}.
+* Header Dirs:: Understanding the standard header file directories.
+* Type Information:: GCC's memory management; generating type information.
+* Plugins:: Extending the compiler with plugins.
+* LTO:: Using Link-Time Optimization.
+
+* Funding:: How to help assure funding for free software.
+* GNU Project:: The GNU Project and GNU/Linux.
+
+* Copying:: GNU General Public License says
+ how you can copy and share GCC.
+* GNU Free Documentation License:: How you can copy and share this manual.
+* Contributors:: People who have contributed to GCC.
+
+* Option Index:: Index to command line options.
+* Concept Index:: Index of concepts and symbol names.
+@end menu
+
+@include contribute.texi
+@include portability.texi
+@include interface.texi
+@include libgcc.texi
+@include languages.texi
+@include sourcebuild.texi
+@include options.texi
+@include passes.texi
+@include rtl.texi
+@include generic.texi
+@include gimple.texi
+@include tree-ssa.texi
+@include loop.texi
+@include cfg.texi
+@include md.texi
+@include tm.texi
+@include hostconfig.texi
+@include fragments.texi
+@include collect2.texi
+@include headerdirs.texi
+@include gty.texi
+@include plugins.texi
+@include lto.texi
+
+@include funding.texi
+@include gnu.texi
+@include gpl_v3.texi
+
+@c ---------------------------------------------------------------------
+@c GFDL
+@c ---------------------------------------------------------------------
+
+@include fdl.texi
+
+@include contrib.texi
+
+@c ---------------------------------------------------------------------
+@c Indexes
+@c ---------------------------------------------------------------------
+
+@node Option Index
+@unnumbered Option Index
+
+GCC's command line options are indexed here without any initial @samp{-}
+or @samp{--}. Where an option has both positive and negative forms
+(such as @option{-f@var{option}} and @option{-fno-@var{option}}),
+relevant entries in the manual are indexed under the most appropriate
+form; it may sometimes be useful to look up both forms.
+
+@printindex op
+
+@node Concept Index
+@unnumbered Concept Index
+
+@printindex cp
+
+@c ---------------------------------------------------------------------
+@c Epilogue
+@c ---------------------------------------------------------------------
+
+@bye