+2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/bugreport.texi: Adjust section titles throughout the file
+ to use "Title Case".
+ * doc/extend.texi: Likewise.
+ * doc/gcov.texi: Likewise.
+ * doc/implement-c.texi: Likewise.
+ * doc/implement-cxx.texi: Likewise.
+ * doc/invoke.texi: Likewise.
+ * doc/objc.texi: Likewise.
+ * doc/standards.texi: Likewise.
+ * doc/trouble.texi: Likewise.
+
2015-02-15 Jan Hubicka <hubicka@ucw.cz>
* cgraph.h (symtab_node::has_aliases_p): Simplify.
@end itemize
@node Bug Reporting
-@section How and where to Report Bugs
+@section How and Where to Report Bugs
@cindex compiler bugs, reporting
Bugs should be reported to the bug database at @value{BUGURL}.
effects of recomputing it.
@node __int128
-@section 128-bit integers
+@section 128-bit Integers
@cindex @code{__int128} data types
As an extension the integer scalar type @code{__int128} is supported for
@end smallexample
@node Empty Structures
-@section Structures With No Members
+@section Structures with No Members
@cindex empty structures
@cindex zero-size structures
are used.
@node Pointers to Arrays
-@section Pointers to arrays with qualifiers work as expected
+@section Pointers to Arrays with Qualifiers Work as Expected
@cindex pointers to arrays
@cindex const qualifier
signedness without a cast.
@node Offsetof
-@section Offsetof
+@section Support for @code{offsetof}
@findex __builtin_offsetof
GCC implements for both C and C++ a syntactic extension to implement
identifier, or a sequence of member accesses and array references.
@node __sync Builtins
-@section Legacy __sync Built-in Functions for Atomic Memory Access
+@section Legacy @code{__sync} Built-in Functions for Atomic Memory Access
The following built-in functions
are intended to be compatible with those described
@end table
@node __atomic Builtins
-@section Built-in functions for memory model aware atomic operations
+@section Built-in Functions for Memory Model Aware Atomic Operations
The following built-in functions approximately match the requirements for
C++11 memory model. Many are similar to the @samp{__sync} prefixed built-in
@end deftypefn
@node Integer Overflow Builtins
-@section Built-in functions to perform arithmetics and arithmetic overflow checking.
+@section Built-in Functions to Perform Arithmetic with Overflow Checking
The following built-in functions allow performing simple arithmetic operations
together with checking whether the operations overflowed.
@end deftypefn
@node x86 specific memory model extensions for transactional memory
-@section x86 specific memory model extensions for transactional memory
+@section x86-Specific Memory Model Extensions for Transactional Memory
The x86 architecture supports additional memory ordering flags
to mark lock critical sections for hardware lock elision.
@end deftypefn
@node Cilk Plus Builtins
-@section Cilk Plus C/C++ language extension Built-in Functions.
+@section Cilk Plus C/C++ Language Extension Built-in Functions
GCC provides support for the following built-in reduction funtions if Cilk Plus
is enabled. Cilk Plus can be enabled using the @option{-fcilkplus} flag.
for more details.
@node Directly-mapped Integer Functions
-@subsubsection Directly-mapped Integer Functions
+@subsubsection Directly-Mapped Integer Functions
The functions listed below map directly to FR-V I-type instructions.
@end multitable
@node Directly-mapped Media Functions
-@subsubsection Directly-mapped Media Functions
+@subsubsection Directly-Mapped Media Functions
The functions listed below map directly to FR-V M-type instructions.
@end multitable
@node Raw read/write Functions
-@subsubsection Raw read/write Functions
+@subsubsection Raw Read/Write Functions
This sections describes built-in functions related to read and write
instructions to access memory. These functions generate
@end smallexample
@node x86 transactional memory intrinsics
-@subsection x86 transaction memory intrinsics
+@subsection x86 Transactional Memory Intrinsics
Hardware transactional memory intrinsics for x86. These allow to use
memory transactions with RTM (Restricted Transactional Memory).
@node Unnamed Fields
-@section Unnamed struct/union fields within structs/unions
+@section Unnamed Structure and Union Fields
@cindex @code{struct}
@cindex @code{union}
@end itemize
@node Binary constants
-@section Binary constants using the @samp{0b} prefix
+@section Binary Constants using the @samp{0b} Prefix
@cindex Binary constants using the @samp{0b} prefix
Integer constants can be written as binary constants, consisting of a
another way to control placement of these constructs.
@node C++ Interface
-@section #pragma interface and implementation
+@section C++ Interface and Implementation Pragmas
@cindex interface and implementation headers, C++
@cindex C++ interface and implementation headers
@end enumerate
@node Bound member functions
-@section Extracting the function pointer from a bound pointer to member function
+@section Extracting the Function Pointer from a Bound Pointer to Member Function
@cindex pmf
@cindex pointer to member function
@cindex bound pointer to member function
@c man end
@node Gcov Data Files
-@section Brief description of @command{gcov} data files
+@section Brief Description of @command{gcov} Data Files
@command{gcov} uses two files for profiling. The names of these files
are derived from the original @emph{object} file by substituting the
coverage files.
@node Cross-profiling
-@section Data file relocation to support cross-profiling
+@section Data File Relocation to Support Cross-Profiling
Running the program will cause profile output to be generated. For each
source file compiled with @option{-fprofile-arcs}, an accompanying @file{.gcda}
@c For copying conditions, see the file gcc.texi.
@node C Implementation
-@chapter C Implementation-defined behavior
+@chapter C Implementation-Defined Behavior
@cindex implementation-defined behavior, C language
A conforming implementation of ISO C is required to document its
@end itemize
@node Floating point implementation
-@section Floating point
+@section Floating Point
@itemize @bullet
@item
@end itemize
@node Arrays and pointers implementation
-@section Arrays and pointers
+@section Arrays and Pointers
@itemize @bullet
@item
@end itemize
@node Structures unions enumerations and bit-fields implementation
-@section Structures, unions, enumerations, and bit-fields
+@section Structures, Unions, Enumerations, and Bit-Fields
@itemize @bullet
@item
@end itemize
@node Preprocessing directives implementation
-@section Preprocessing directives
+@section Preprocessing Directives
@xref{Implementation-defined behavior, , Implementation-defined
behavior, cpp, The C Preprocessor}, for details of these aspects of
@end itemize
@node Library functions implementation
-@section Library functions
+@section Library Functions
The behavior of most of these points are dependent on the implementation
of the C library, and are not defined by GCC itself.
@end itemize
@node Locale-specific behavior implementation
-@section Locale-specific behavior
+@section Locale-Specific Behavior
The behavior of these points are dependent on the implementation
of the C library, and are not defined by GCC itself.
@c For copying conditions, see the file gcc.texi.
@node C++ Implementation
-@chapter C++ Implementation-defined behavior
+@chapter C++ Implementation-Defined Behavior
@cindex implementation-defined behavior, C++ language
A conforming implementation of ISO C++ is required to document its
@end menu
@node Conditionally-supported behavior
-@section Conditionally-supported behavior
+@section Conditionally-Supported Behavior
@cite{Each implementation shall include documentation that identifies
all conditionally-supported constructs that it does not support (C++0x
@end itemize
@node Exception handling
-@section Exception handling
+@section Exception Handling
@itemize @bullet
@item
@c man end
@node Spec Files
-@section Specifying subprocesses and the switches to pass to them
+@section Specifying Subprocesses and the Switches to Pass to Them
@cindex Spec Files
@command{gcc} is a driver program. It performs its job by invoking a
over the appropriate part of this option.
@end table
-@subsubsection @option{-march} and @option{-mcpu} feature modifiers
+@subsubsection @option{-march} and @option{-mcpu} Feature Modifiers
@cindex @option{-march} feature modifiers
@cindex @option{-mcpu} feature modifiers
Feature modifiers used with @option{-march} and @option{-mcpu} can be one
resulting address space is not contained in the incoming address space.
@end table
-@subsubsection @code{EIND} and Devices with more than 128 Ki Bytes of Flash
+@subsubsection @code{EIND} and Devices with More Than 128 Ki Bytes of Flash
@cindex @code{EIND}
Pointers in the implementation are 16@tie{}bits wide.
The address of a function or label is represented as word address so
@node Objective-C
@comment node-name, next, previous, up
-@chapter GNU Objective-C features
+@chapter GNU Objective-C Features
This document is meant to describe some of the GNU Objective-C
features. It is not intended to teach you Objective-C. There are
@c =========================================================================
@node GNU Objective-C runtime API
-@section GNU Objective-C runtime API
+@section GNU Objective-C Runtime API
This section is specific for the GNU Objective-C runtime. If you are
using a different runtime, you can skip it.
@c =========================================================================
@node Modern GNU Objective-C runtime API
-@subsection Modern GNU Objective-C runtime API
+@subsection Modern GNU Objective-C Runtime API
The GNU Objective-C runtime provides an API which is similar to the
one provided by the ``Objective-C 2.0'' Apple/NeXT Objective-C
@c =========================================================================
@node Traditional GNU Objective-C runtime API
-@subsection Traditional GNU Objective-C runtime API
+@subsection Traditional GNU Objective-C Runtime API
The GNU Objective-C runtime used to provide a different API, which we
call the ``traditional'' GNU Objective-C runtime API. Functions
@c =========================================================================
@node Executing code before main
-@section @code{+load}: Executing code before main
+@section @code{+load}: Executing Code before @code{main}
This section is specific for the GNU Objective-C runtime. If you are
using a different runtime, you can skip it.
@node What you can and what you cannot do in +load
-@subsection What you can and what you cannot do in @code{+load}
+@subsection What You Can and Cannot Do in @code{+load}
@code{+load} is to be used only as a last resort. Because it is
executed very early, most of the Objective-C runtime machinery will
@node Type encoding
-@section Type encoding
+@section Type Encoding
This is an advanced section. Type encodings are used extensively by
the compiler and by the runtime, but you generally do not need to know
@end menu
@node Legacy type encoding
-@subsection Legacy type encoding
+@subsection Legacy Type Encoding
Unfortunately, historically GCC used to have a number of bugs in its
encoding code. The NeXT runtime expects GCC to emit type encodings in
a bit offset or the underlying field type.
@node @@encode
-@subsection @@encode
+@subsection @code{@@encode}
GNU Objective-C supports the @code{@@encode} syntax that allows you to
create a type encoding from a C/Objective-C type. For example,
invalid and will cause a compilation error.
@node Method signatures
-@subsection Method signatures
+@subsection Method Signatures
This section documents the encoding of method types, which is rarely
needed to use Objective-C. You should skip it at a first reading; the
@c =========================================================================
@node Constant string objects
-@section Constant string objects
+@section Constant String Objects
GNU Objective-C provides constant string objects that are generated
directly by the compiler. You declare a constant string object by
@c =========================================================================
@node compatibility_alias
-@section compatibility_alias
+@section @code{compatibility_alias}
The keyword @code{@@compatibility_alias} allows you to define a class name
as equivalent to another class name. For example:
@c =========================================================================
@node Fast enumeration
-@section Fast enumeration
+@section Fast Enumeration
@menu
* Using fast enumeration::
@c ================================
@node Using fast enumeration
-@subsection Using fast enumeration
+@subsection Using Fast Enumeration
GNU Objective-C provides support for the fast enumeration syntax:
@c ================================
@node c99-like fast enumeration syntax
-@subsection c99-like fast enumeration syntax
+@subsection C99-Like Fast Enumeration Syntax
A c99-like declaration syntax is also allowed:
@c ================================
@node Fast enumeration details
-@subsection Fast enumeration details
+@subsection Fast Enumeration Details
Here is a more technical description with the gory details. Consider the code
@c ================================
@node Fast enumeration protocol
-@subsection Fast enumeration protocol
+@subsection Fast Enumeration Protocol
If you want your own collection object to be usable with fast
enumeration, you need to have it implement the method
@c =========================================================================
@node Messaging with the GNU Objective-C runtime
-@section Messaging with the GNU Objective-C runtime
+@section Messaging with the GNU Objective-C Runtime
This section is specific for the GNU Objective-C runtime. If you are
using a different runtime, you can skip it.
@c =========================================================================
@node Dynamically registering methods
-@subsection Dynamically registering methods
+@subsection Dynamically Registering Methods
If @code{objc_msg_lookup()} does not find a suitable method
implementation, because the receiver does not implement the required
@c =========================================================================
@node Forwarding hook
-@subsection Forwarding hook
+@subsection Forwarding Hook
The GNU Objective-C runtime provides a hook, called
@code{__objc_msg_forward2}, which is called by
attempts to follow one or more versions of that standard, possibly
with some exceptions, and possibly with some extensions.
-@section C language
+@section C Language
@cindex C standard
@cindex C standards
@cindex ANSI C standard
information concerning the history of C that is available online, see
@uref{http://gcc.gnu.org/readings.html}
-@section C++ language
+@section C++ Language
GCC supports the original ISO C++ standard (1998) and contains
experimental support for the second ISO C++ standard (2011).
@option{-std=gnu++11} (for C++11 with GNU extensions). The default, if
no C++ language dialect options are given, is @option{-std=gnu++98}.
-@section Objective-C and Objective-C++ languages
+@section Objective-C and Objective-C++ Languages
@cindex Objective-C
@cindex Objective-C++
For more information concerning the history of Objective-C that is
available online, see @uref{http://gcc.gnu.org/readings.html}
-@section Go language
+@section Go Language
As of the GCC 4.7.1 release, GCC supports the Go 1 language standard,
described at @uref{http://golang.org/doc/go1.html}.
-@section References for other languages
+@section References for Other Languages
@xref{Top, GNAT Reference Manual, About This Guide, gnat_rm,
GNAT Reference Manual}, for information on standard
@node Name lookup
-@subsection Name lookup, templates, and accessing members of base classes
+@subsection Name Lookup, Templates, and Accessing Members of Base Classes
@cindex base class members
@cindex two-stage name lookup