platform/upstream/gcc.git
2 years agoDo not specify NAN sign in frange::set_nonnegative.
Aldy Hernandez [Thu, 10 Nov 2022 13:29:13 +0000 (14:29 +0100)]
Do not specify NAN sign in frange::set_nonnegative.

After further reading of the IEEE 754 standard, it has become clear
that there are no guarantees with regards to the sign of a NAN when it
comes to any operation other than copy, copysign, abs, and negate.

Currently, set_nonnegative() is only used in one place in ranger
applicable to floating point values, when expanding unknown calls.
Since we already specially handle copy, copysign, abs, and negate, all
the calls to set_nonnegative() must be NAN-sign agnostic.

The cleanest solution is to leave the sign unspecificied in
frange::set_nonnegative().  Any special case, must be handled by the
caller.

gcc/ChangeLog:

* value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
(range_tests_signed_zeros): Adjust test.

2 years agobetter PHI copy propagation for forwprop
Richard Biener [Thu, 10 Nov 2022 14:02:37 +0000 (15:02 +0100)]
better PHI copy propagation for forwprop

We can handle _1 = PHI <_1, _2> as a copy.

PR tree-optimization/84646
* tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
copy propagation across PHIs.

2 years agoRISC-V: Fix selection of pipeline model for sifive-7-series
Philipp Tomsich [Wed, 9 Nov 2022 23:43:05 +0000 (00:43 +0100)]
RISC-V: Fix selection of pipeline model for sifive-7-series

A few of the gcc.target/riscv/mcpu-*.c tests have been failing for a
while now, due to the pipeline model for sifive-7-series not being
selected despite -mtune=sifive-7-series.  The root cause is that the
respective RISCV_TUNE entry points to generic instead.  Fix this.

Fixes 97d1ed67fc6 ("RISC-V: Support --target-help for -mcpu/-mtune")

gcc/ChangeLog:

* config/riscv/riscv-cores.def (RISCV_TUNE): Update
sifive-7-series to point to the sifive_7 pipeline description.

2 years agoRestore CCP copy propagation
Richard Biener [Thu, 10 Nov 2022 13:08:35 +0000 (14:08 +0100)]
Restore CCP copy propagation

The following restores copy propagation in CCP for the case the
lattice was constant before trying to transition to a copy.  At
some point we changed to use the meet operator to handle
integer constant -> integer constant transitions but that screws
up the const -> copy lattice transition.

PR tree-optimization/84646
* tree-ssa-ccp.cc (set_lattice_value): Make sure we
allow a const -> copy transition and avoid using meet
in that case.

* gcc.dg/tree-ssa/ssa-ccp-42.c: New testcase.

2 years agosphinx: add missing newline for conf.py files.
Martin Liska [Thu, 10 Nov 2022 12:56:04 +0000 (13:56 +0100)]
sphinx: add missing newline for conf.py files.

gcc/d/ChangeLog:

* doc/conf.py: Add newline at last line.

gcc/ChangeLog:

* doc/cpp/conf.py: Add newline at last line.
* doc/cppinternals/conf.py: Add newline at last line.
* doc/gcc/conf.py: Add newline at last line.
* doc/gccint/conf.py: Add newline at last line.
* doc/install/conf.py: Add newline at last line.

gcc/fortran/ChangeLog:

* doc/gfc-internals/conf.py: Add newline at last line.
* doc/gfortran/conf.py: Add newline at last line.

gcc/go/ChangeLog:

* doc/conf.py: Add newline at last line.

libgomp/ChangeLog:

* doc/conf.py: Add newline at last line.

libiberty/ChangeLog:

* doc/conf.py: Add newline at last line.

libitm/ChangeLog:

* doc/conf.py: Add newline at last line.

libquadmath/ChangeLog:

* doc/conf.py: Add newline at last line.

2 years agounswitching of outer loops
Richard Biener [Tue, 27 Sep 2022 08:16:52 +0000 (10:16 +0200)]
unswitching of outer loops

This allows loop unswitching to unswitch outer loops conditions are
invariant in.  We restrict ourselves to unswitch conditions in innermost
loops and will only unswitch loop nests that do not contain any sibling loops.
To simplify the implementation the loop nest unswitched is the deepest all
unswitching candidates are invariant in.

For 507.cactuBSSN_r it can be observed we unswitch the outer loops
of the compute kernels for the fdOrder parameter.  It seems to be within
the existing growth limitations to perform the unswitchings, a performance
benefit is not seen.

* tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
candidates and determine the outermost loop to unswitch.
(tree_ssa_unswitch_loops): First perform all guard hoisting,
then perform unswitching on innermost loop predicates.
(find_unswitching_predicates_for_bb): Keep track of the
outermost loop to unswitch.
(evaluate_bbs): Adjust exit test.
(tree_unswitch_single_loop): Dump whether we unswitched an outer
loop.
(tree_unswitch_loop): Remove assert we unswitch only innermost
loops.

* gcc.dg/loop-unswitch-18.c: New testcase.
* gcc.dg/tree-ssa/loopclosedphi.c: Disable unswitching,
adjust expected counts.
* gcc.dg/torture/pr71462.c: Add -w to ignore undefined
behavior diagnostics after now unswitching outer loops.

2 years agoi386: Fix up ix86_expand_int_sse_cmp [PR107585]
Jakub Jelinek [Thu, 10 Nov 2022 10:46:52 +0000 (11:46 +0100)]
i386: Fix up ix86_expand_int_sse_cmp [PR107585]

The following patch fixes ICE on the testcase.  I've used GEN_INT
incorrectly thinking the code punts on the problematic boundaries.
It does, but only for LE and GE, i.e. signed comparisons, for unsigned
the boundaries are 0 and unsigned maximum, so when say unsigned char
adds one to 127 or subtracts one from 128 we need to canonicalize it.

2022-11-10  Jakub Jelinek  <jakub@redhat.com>

PR target/107585
PR target/107546
* config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
gen_int_mode rather than GEN_INT.

* gcc.dg/pr107585.c: New test.

2 years agomaintainer-scripts: fix superfluous 'sh' for Python script
Martin Liska [Thu, 10 Nov 2022 05:37:32 +0000 (06:37 +0100)]
maintainer-scripts: fix superfluous 'sh' for Python script

maintainer-scripts/ChangeLog:

* crontab: Fix superfluous 'sh' for Python script.

2 years agodoc: Modernize baseconf.py.
Martin Liska [Wed, 9 Nov 2022 20:16:49 +0000 (21:16 +0100)]
doc: Modernize baseconf.py.

ChangeLog:

* doc/baseconf.py: Modernize by using pathlib.

2 years agodoc: Use a separate directory for new modules we add to PATH
Arsen Arsenović [Wed, 9 Nov 2022 21:31:34 +0000 (22:31 +0100)]
doc: Use a separate directory for new modules we add to PATH

ChangeLog:

* doc/baseconf.py: Inject dirname(__file__)/'modules' to path
instead of just ``.''.
* doc/gcc_sphinx.py: Moved to...
* doc/modules/gcc_sphinx.py: ...here.

2 years agolibstdc++: Optimize std::destructible concept
Jonathan Wakely [Thu, 10 Nov 2022 01:30:45 +0000 (01:30 +0000)]
libstdc++: Optimize std::destructible concept

This uses variable templates and constraints to define a much simpler
std::destructible concept. This avoids instantiating the trait
std::is_nothrow_destructible and all its implementation in terms of
__is_destructible_safe and __is_destructible_impl.

If we had an intrinsic we could just use that (PR c++/107600).

libstdc++-v3/ChangeLog:

* include/std/concepts (__detail::__destructible_impl)
(__detail::__destructible): New variable templates.
(destructible): Use __detail::__destructible.
* testsuite/std/concepts/concepts.lang/concept.destructible/1.cc:
Add more checks for array and reference types.

2 years agoDaily bump.
GCC Administrator [Thu, 10 Nov 2022 00:17:57 +0000 (00:17 +0000)]
Daily bump.

2 years agogo: don't crash if __atomic_fetch_add functions are used
Ian Lance Taylor [Thu, 10 Nov 2022 00:05:08 +0000 (16:05 -0800)]
go: don't crash if __atomic_fetch_add functions are used

The Go frontend only generates __atomic_add_fetch, but in some cases
thost calls become __atomic_fetch_add.

Patch originally by Marc Poulhiès.

PR target/107581
* go-gcc.cc (Gcc_backend::Gcc_backend): Define
__atomic_fetch_add_{4,8}.

2 years agoanalyzer: better logging of event creation
David Malcolm [Wed, 9 Nov 2022 22:20:06 +0000 (17:20 -0500)]
analyzer: better logging of event creation

gcc/analyzer/ChangeLog:
* checker-path.cc (checker_event::debug): New.
(checker_path::add_event): Move here from checker-path.h.  Add
logging.
* checker-path.h (checker_event::debug): New decl.
(checker_path::checker_path): Add logger param.
(checker_path::add_event): Move definition from here to
checker-path.cc.
(checker_path::m_logger): New field.
* diagnostic-manager.cc
(diagnostic_manager::emit_saved_diagnostic): Pass logger to
checker_path ctor.
(diagnostic_manager::add_events_for_eedge): Log scope when
processing a run of stmts.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2 years agodocs: Add missing variable name in example
Martin Liska [Wed, 9 Nov 2022 20:57:08 +0000 (21:57 +0100)]
docs: Add missing variable name in example

gcc/ChangeLog:

* doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
Add missing variable name.

Co-Authored-By: Sinan <sinan.lin@linux.alibaba.com>
2 years agoFortran: avoid NULL pointer dereference on bad EQUIVALENCEs [PR107559]
Harald Anlauf [Wed, 9 Nov 2022 20:05:28 +0000 (21:05 +0100)]
Fortran: avoid NULL pointer dereference on bad EQUIVALENCEs [PR107559]

gcc/fortran/ChangeLog:

PR fortran/107559
* resolve.cc (resolve_equivalence): Avoid NULL pointer dereference
while emitting diagnostics for bad EQUIVALENCEs.

gcc/testsuite/ChangeLog:

PR fortran/107559
* gfortran.dg/pr107559.f90: New test.

2 years agodocs: Fix expected diagnostics URL [PR107599]
Martin Liska [Wed, 9 Nov 2022 19:56:41 +0000 (20:56 +0100)]
docs: Fix expected diagnostics URL [PR107599]

PR c++/107599

gcc/testsuite/ChangeLog:

* c-c++-common/diagnostic-format-json-2.c: Fix expected URL.
* c-c++-common/diagnostic-format-json-3.c: Likewise.
* c-c++-common/diagnostic-format-json-4.c: Likewise.
* gfortran.dg/diagnostic-format-json-2.F90: Likewise.
* gfortran.dg/diagnostic-format-json-3.F90: Likewise.

2 years agoFortran: ordering of hidden procedure arguments [PR107441]
Harald Anlauf [Fri, 28 Oct 2022 19:58:08 +0000 (21:58 +0200)]
Fortran: ordering of hidden procedure arguments [PR107441]

The gfortran ABI specifies the order of given and hidden procedure arguments,
where the hidden presence status flags of optional+value scalar arguments
shall come before character length, coarray token and offset.  Respect that.

gcc/fortran/ChangeLog:

PR fortran/107441
* trans-decl.cc (create_function_arglist): Adjust the ordering of
automatically generated hidden procedure arguments to match the
documented ABI for gfortran.
* trans-types.cc (gfc_get_function_type): Separate hidden parameters
so that the presence flag for optional+value arguments come before
string length, coarray token and offset, as required.

gcc/testsuite/ChangeLog:

PR fortran/107441
* gfortran.dg/coarray/pr107441-caf.f90: New test.
* gfortran.dg/optional_absent_6.f90: New test.
* gfortran.dg/optional_absent_7.f90: New test.

2 years agosphinx: add missing HAS_SPHINX_BUILD
Martin Liska [Wed, 9 Nov 2022 19:32:07 +0000 (20:32 +0100)]
sphinx: add missing HAS_SPHINX_BUILD

libgomp/ChangeLog:

* Makefile.in: Add missing HAS_SPHINX_BUILD.

libitm/ChangeLog:

* Makefile.in: Add missing HAS_SPHINX_BUILD.

libquadmath/ChangeLog:

* Makefile.in: Add missing HAS_SPHINX_BUILD.

2 years agodocs: create sources tarball
Martin Liska [Wed, 9 Nov 2022 18:36:39 +0000 (19:36 +0100)]
docs: create sources tarball

maintainer-scripts/ChangeLog:

* update_web_docs_git.py: Create sources tarball.

2 years agoClear NAN when reading back a global range if necessary.
Aldy Hernandez [Wed, 9 Nov 2022 15:05:08 +0000 (16:05 +0100)]
Clear NAN when reading back a global range if necessary.

When reading back from the global store, we must clear the NAN bit if
necessary.  The reason it's not happening is because the constructor
sets a NAN by default (when HONOR_NANS).  We must be careful to clear
the NAN bit if the original range didn't have a NAN.

I have commented the reason we use the constructor instead of filling
out the fields by hand, because it wasn't clear at re-reading this
code.

PR 107569/tree-optimization

gcc/ChangeLog:

* value-range-storage.cc (frange_storage_slot::get_frange): Clear
NAN if appropriate.
* value-range.cc (range_tests_floats): New test.

2 years agoRevert op[12]_range operators for PLUS_EXPR and MINUS_EXPR.
Aldy Hernandez [Wed, 9 Nov 2022 15:35:40 +0000 (16:35 +0100)]
Revert op[12]_range operators for PLUS_EXPR and MINUS_EXPR.

Revert the patch below until issues are resolved:

commit 4287e8168f89e90b3dff3a50f3ada40be53e0e01
Author: Aldy Hernandez <aldyh@redhat.com>
Date:   Wed Nov 9 01:00:57 2022 +0100

    Implement op[12]_range operators for PLUS_EXPR and MINUS_EXPR.

    We can implement the op[12]_range entries for plus and minus in terms
    of each other.  These are adapted from the integer versions.

gcc/ChangeLog:

* range-op-float.cc (class foperator_plus): Remove op[12]_range.
(class foperator_minus): Same.

2 years agoChange the name of array_at_struct_end_p to array_ref_flexible_size_p
Qing Zhao [Wed, 9 Nov 2022 15:48:04 +0000 (15:48 +0000)]
Change the name of array_at_struct_end_p to array_ref_flexible_size_p

The name of the utility routine "array_at_struct_end_p" is misleading
and should be changed to a new name that more accurately reflects its
real meaning.

The routine "array_at_struct_end_p" is used to check whether an array
reference is to an array whose actual size might be larger than its
upper bound implies, which includes 3 different cases:

   A. a ref to a flexible array member at the end of a structure;
   B. a ref to an array with a different type against the original decl;
   C. a ref to an array that was passed as a parameter;

The old name only reflects the above case A, therefore very confusing
when reading the corresponding gcc source code.

In this patch, A new name "array_ref_flexible_size_p" is used to replace
the old name.

All the references to the routine "array_at_struct_end_p" was replaced
with this new name, and the corresponding comments were updated to make
them clean and consistent.

gcc/ChangeLog:

* gimple-array-bounds.cc (trailing_array): Replace
array_at_struct_end_p with new name and update comments.
* gimple-fold.cc (get_range_strlen_tree): Likewise.
* gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
Likewise.
* graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
* tree-if-conv.cc (idx_within_array_bound): Likewise.
* tree-object-size.cc (addr_object_size): Likewise.
* tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
Likewise.
(stmt_kills_ref_p): Likewise.
* tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
* tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
* tree.cc (array_at_struct_end_p): Rename to ...
(array_ref_flexible_size_p): ... this.
(component_ref_size): Replace array_at_struct_end_p with new name.
* tree.h (array_at_struct_end_p): Rename to ...
(array_ref_flexible_size_p): ... this.

2 years agodocs: fix links pointing to gcc.gnu.org/install
Martin Liska [Wed, 9 Nov 2022 14:35:33 +0000 (15:35 +0100)]
docs: fix links pointing to gcc.gnu.org/install

Use https://gcc.gnu.org/onlinedocs/install/ instead.

ChangeLog:

* configure.ac: Use new install URL.
* configure: Regenerate.

gcc/ChangeLog:

* Makefile.in: Use new install URL.
* doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
Use intersphinx link.
* doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
Use new URL.
* doc/gccint/source-tree-structure-and-build-system.rst: Use
intersphinx link.
* doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
* doc/install/installing-gcc.rst: Likewise.

2 years agotree-optimization/84646 - remove premature thread path rejection
Richard Biener [Wed, 9 Nov 2022 12:52:58 +0000 (13:52 +0100)]
tree-optimization/84646 - remove premature thread path rejection

This removes a premature rejection that's done later in a different
way.

PR tree-optimization/84646
* tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
Remove premature cycle rejection.

2 years agosphinx: add missing trailing newline
Martin Liska [Wed, 9 Nov 2022 12:54:21 +0000 (13:54 +0100)]
sphinx: add missing trailing newline

All files are supposed to end with a newline, fix that.

ChangeLog:

* doc/bsd.rst:
  Add trailing newline.
* doc/contrib.rst:
  Add trailing newline.
* doc/contribute.rst:
  Add trailing newline.
* doc/cppdiropts.rst:
  Add trailing newline.
* doc/cppenv.rst:
  Add trailing newline.
* doc/cppopts.rst:
  Add trailing newline.
* doc/cppwarnopts.rst:
  Add trailing newline.
* doc/funding.rst:
  Add trailing newline.
* doc/gnu.rst:
  Add trailing newline.
* doc/gnu_free_documentation_license.rst:
  Add trailing newline.
* doc/gpl-3.0.rst:
  Add trailing newline.
* doc/indices-and-tables.rst:
  Add trailing newline.
* doc/lgpl-2.1.rst:
  Add trailing newline.
* doc/md.rst:
  Add trailing newline.

gcc/d/ChangeLog:

* doc/copyright.rst:
  Add trailing newline.
* doc/general-public-license-3.rst:
  Add trailing newline.
* doc/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/index.rst:
  Add trailing newline.
* doc/indices-and-tables.rst:
  Add trailing newline.
* doc/invoking-gdc.rst:
  Add trailing newline.
* doc/invoking-gdc/code-generation.rst:
  Add trailing newline.
* doc/invoking-gdc/developer-options.rst:
  Add trailing newline.
* doc/invoking-gdc/input-and-output-files.rst:
  Add trailing newline.
* doc/invoking-gdc/options-for-directory-search.rst:
  Add trailing newline.
* doc/invoking-gdc/options-for-linking.rst:
  Add trailing newline.
* doc/invoking-gdc/runtime-options.rst:
  Add trailing newline.
* doc/invoking-gdc/warnings.rst:
  Add trailing newline.

gcc/ChangeLog:

* doc/cpp/character-sets.rst:
  Add trailing newline.
* doc/cpp/conditional-syntax.rst:
  Add trailing newline.
* doc/cpp/conditional-uses.rst:
  Add trailing newline.
* doc/cpp/conditionals.rst:
  Add trailing newline.
* doc/cpp/copyright.rst:
  Add trailing newline.
* doc/cpp/deleted-code.rst:
  Add trailing newline.
* doc/cpp/diagnostics.rst:
  Add trailing newline.
* doc/cpp/environment-variables.rst:
  Add trailing newline.
* doc/cpp/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/cpp/header-files.rst:
  Add trailing newline.
* doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
  Add trailing newline.
* doc/cpp/header-files/computed-includes.rst:
  Add trailing newline.
* doc/cpp/header-files/include-operation.rst:
  Add trailing newline.
* doc/cpp/header-files/include-syntax.rst:
  Add trailing newline.
* doc/cpp/header-files/once-only-headers.rst:
  Add trailing newline.
* doc/cpp/header-files/search-path.rst:
  Add trailing newline.
* doc/cpp/header-files/system-headers.rst:
  Add trailing newline.
* doc/cpp/header-files/wrapper-headers.rst:
  Add trailing newline.
* doc/cpp/implementation-defined-behavior.rst:
  Add trailing newline.
* doc/cpp/implementation-details.rst:
  Add trailing newline.
* doc/cpp/implementation-limits.rst:
  Add trailing newline.
* doc/cpp/index.rst:
  Add trailing newline.
* doc/cpp/indices-and-tables.rst:
  Add trailing newline.
* doc/cpp/initial-processing.rst:
  Add trailing newline.
* doc/cpp/invocation.rst:
  Add trailing newline.
* doc/cpp/line-control.rst:
  Add trailing newline.
* doc/cpp/macros.rst:
  Add trailing newline.
* doc/cpp/macros/concatenation.rst:
  Add trailing newline.
* doc/cpp/macros/directives-within-macro-arguments.rst:
  Add trailing newline.
* doc/cpp/macros/function-like-macros.rst:
  Add trailing newline.
* doc/cpp/macros/macro-arguments.rst:
  Add trailing newline.
* doc/cpp/macros/macro-pitfalls.rst:
  Add trailing newline.
* doc/cpp/macros/object-like-macros.rst:
  Add trailing newline.
* doc/cpp/macros/predefined-macros.rst:
  Add trailing newline.
* doc/cpp/macros/stringizing.rst:
  Add trailing newline.
* doc/cpp/macros/undefining-and-redefining-macros.rst:
  Add trailing newline.
* doc/cpp/macros/variadic-macros.rst:
  Add trailing newline.
* doc/cpp/obsolete-features.rst:
  Add trailing newline.
* doc/cpp/other-directives.rst:
  Add trailing newline.
* doc/cpp/overview.rst:
  Add trailing newline.
* doc/cpp/pragmas.rst:
  Add trailing newline.
* doc/cpp/preprocessor-output.rst:
  Add trailing newline.
* doc/cpp/the-preprocessing-language.rst:
  Add trailing newline.
* doc/cpp/tokenization.rst:
  Add trailing newline.
* doc/cpp/traditional-lexical-analysis.rst:
  Add trailing newline.
* doc/cpp/traditional-macros.rst:
  Add trailing newline.
* doc/cpp/traditional-miscellany.rst:
  Add trailing newline.
* doc/cpp/traditional-mode.rst:
  Add trailing newline.
* doc/cpp/traditional-warnings.rst:
  Add trailing newline.
* doc/cppinternals/copyright.rst:
  Add trailing newline.
* doc/cppinternals/cppinternals.rst:
  Add trailing newline.
* doc/cppinternals/cpplib.rst:
  Add trailing newline.
* doc/cppinternals/files.rst:
  Add trailing newline.
* doc/cppinternals/index.rst:
  Add trailing newline.
* doc/cppinternals/indices-and-tables.rst:
  Add trailing newline.
* doc/cppinternals/internal-representation-of-macros.rst:
  Add trailing newline.
* doc/cppinternals/just-which-line-number-anyway.rst:
  Add trailing newline.
* doc/cppinternals/lexing-a-line.rst:
  Add trailing newline.
* doc/cppinternals/lexing-a-token.rst:
  Add trailing newline.
* doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
  Add trailing newline.
* doc/cppinternals/macro-expansion-overview.rst:
  Add trailing newline.
* doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
  Add trailing newline.
* doc/cppinternals/multiple-include-optimization.rst:
  Add trailing newline.
* doc/cppinternals/overview.rst:
  Add trailing newline.
* doc/cppinternals/representation-of-line-numbers.rst:
  Add trailing newline.
* doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
  Add trailing newline.
* doc/gcc/binary-compatibility.rst:
  Add trailing newline.
* doc/gcc/c++-implementation-defined-behavior.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/architecture.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/characters.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/declarators.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/environment.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/floating-point.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/hints.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/identifiers.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/integers.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/library-functions.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/statements.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
  Add trailing newline.
* doc/gcc/c-implementation-defined-behavior/translation.rst:
  Add trailing newline.
* doc/gcc/conditionally-supported-behavior.rst:
  Add trailing newline.
* doc/gcc/contributing-to-gcc-development.rst:
  Add trailing newline.
* doc/gcc/contributors-to-gcc.rst:
  Add trailing newline.
* doc/gcc/copyright.rst:
  Add trailing newline.
* doc/gcc/exception-handling.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/type-traits.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
  Add trailing newline.
* doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
  Add trailing newline.
* doc/gcc/funding.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/compiling-c++-programs.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/description.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/gcc-developer-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-for-directory-search.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-for-linking.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-that-control-optimization.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/program-instrumentation-options.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
  Add trailing newline.
* doc/gcc/gcc-command-options/using-precompiled-headers.rst:
  Add trailing newline.
* doc/gcc/gcc.rst:
  Add trailing newline.
* doc/gcc/gcov-dump.rst:
  Add trailing newline.
* doc/gcc/gcov-tool.rst:
  Add trailing newline.
* doc/gcc/gcov.rst:
  Add trailing newline.
* doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
  Add trailing newline.
* doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
  Add trailing newline.
* doc/gcc/gcov/introduction-to-gcov.rst:
  Add trailing newline.
* doc/gcc/gcov/invoking-gcov.rst:
  Add trailing newline.
* doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
  Add trailing newline.
* doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
  Add trailing newline.
* doc/gcc/general-public-license-3.rst:
  Add trailing newline.
* doc/gcc/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/exceptions.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/garbage-collection.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/synchronization.rst:
  Add trailing newline.
* doc/gcc/gnu-objective-c-features/type-encoding.rst:
  Add trailing newline.
* doc/gcc/gnu.rst:
  Add trailing newline.
* doc/gcc/have-you-found-a-bug.rst:
  Add trailing newline.
* doc/gcc/how-and-where-to-report-bugs.rst:
  Add trailing newline.
* doc/gcc/how-to-get-help-with-gcc.rst:
  Add trailing newline.
* doc/gcc/index.rst:
  Add trailing newline.
* doc/gcc/indices-and-tables.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
  Add trailing newline.
* doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
  Add trailing newline.
* doc/gcc/language-standards-supported-by-gcc.rst:
  Add trailing newline.
* doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
  Add trailing newline.
* doc/gcc/language-standards-supported-by-gcc/c-language.rst:
  Add trailing newline.
* doc/gcc/language-standards-supported-by-gcc/d-language.rst:
  Add trailing newline.
* doc/gcc/language-standards-supported-by-gcc/go-language.rst:
  Add trailing newline.
* doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
  Add trailing newline.
* doc/gcc/lto-dump.rst:
  Add trailing newline.
* doc/gcc/programming-languages-supported-by-gcc.rst:
  Add trailing newline.
* doc/gcc/reporting-bugs.rst:
  Add trailing newline.
* doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
  Add trailing newline.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
  Add trailing newline.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
  Add trailing newline.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
  Add trailing newline.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
  Add trailing newline.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
  Add trailing newline.
* doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
  Add trailing newline.
* doc/gccint/analyzer-internals.rst:
  Add trailing newline.
* doc/gccint/collect2.rst:
  Add trailing newline.
* doc/gccint/contributing-to-gcc-development.rst:
  Add trailing newline.
* doc/gccint/contributors-to-gcc.rst:
  Add trailing newline.
* doc/gccint/control-flow-graph.rst:
  Add trailing newline.
* doc/gccint/control-flow-graph/basic-blocks.rst:
  Add trailing newline.
* doc/gccint/control-flow-graph/edges.rst:
  Add trailing newline.
* doc/gccint/control-flow-graph/liveness-information.rst:
  Add trailing newline.
* doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
  Add trailing newline.
* doc/gccint/control-flow-graph/profile-information.rst:
  Add trailing newline.
* doc/gccint/copyright.rst:
  Add trailing newline.
* doc/gccint/debugging-the-analyzer.rst:
  Add trailing newline.
* doc/gccint/funding.rst:
  Add trailing newline.
* doc/gccint/gcc-and-portability.rst:
  Add trailing newline.
* doc/gccint/general-public-license-3.rst:
  Add trailing newline.
* doc/gccint/generic.rst:
  Add trailing newline.
* doc/gccint/generic/attributes-in-trees.rst:
  Add trailing newline.
* doc/gccint/generic/c-and-c++-trees.rst:
  Add trailing newline.
* doc/gccint/generic/declarations.rst:
  Add trailing newline.
* doc/gccint/generic/deficiencies.rst:
  Add trailing newline.
* doc/gccint/generic/expressions.rst:
  Add trailing newline.
* doc/gccint/generic/functions.rst:
  Add trailing newline.
* doc/gccint/generic/language-dependent-trees.rst:
  Add trailing newline.
* doc/gccint/generic/overview.rst:
  Add trailing newline.
* doc/gccint/generic/statements.rst:
  Add trailing newline.
* doc/gccint/generic/types.rst:
  Add trailing newline.
* doc/gccint/gimple-api.rst:
  Add trailing newline.
* doc/gccint/gimple.rst:
  Add trailing newline.
* doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
  Add trailing newline.
* doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
  Add trailing newline.
* doc/gccint/gimple/exception-handling.rst:
  Add trailing newline.
* doc/gccint/gimple/gimple-instruction-set.rst:
  Add trailing newline.
* doc/gccint/gimple/gimple-sequences.rst:
  Add trailing newline.
* doc/gccint/gimple/manipulating-gimple-statements.rst:
  Add trailing newline.
* doc/gccint/gimple/operands.rst:
  Add trailing newline.
* doc/gccint/gimple/sequence-iterators.rst:
  Add trailing newline.
* doc/gccint/gimple/statement-and-operand-traversals.rst:
  Add trailing newline.
* doc/gccint/gimple/temporaries.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-representation.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
  Add trailing newline.
* doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
  Add trailing newline.
* doc/gccint/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/gccint/guidelines-for-diagnostics.rst:
  Add trailing newline.
* doc/gccint/guidelines-for-options.rst:
  Add trailing newline.
* doc/gccint/host-common.rst:
  Add trailing newline.
* doc/gccint/host-configuration.rst:
  Add trailing newline.
* doc/gccint/host-filesystem.rst:
  Add trailing newline.
* doc/gccint/host-makefile-fragments.rst:
  Add trailing newline.
* doc/gccint/host-misc.rst:
  Add trailing newline.
* doc/gccint/index.rst:
  Add trailing newline.
* doc/gccint/indices-and-tables.rst:
  Add trailing newline.
* doc/gccint/interfacing-to-gcc-output.rst:
  Add trailing newline.
* doc/gccint/introduction.rst:
  Add trailing newline.
* doc/gccint/language-front-ends-in-gcc.rst:
  Add trailing newline.
* doc/gccint/link-time-optimization.rst:
  Add trailing newline.
* doc/gccint/link-time-optimization/design-overview.rst:
  Add trailing newline.
* doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
  Add trailing newline.
* doc/gccint/link-time-optimization/lto-file-sections.rst:
  Add trailing newline.
* doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
  Add trailing newline.
* doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/conditional-execution.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/constant-definitions.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/example-of-defineinsn.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/instruction-attributes.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/iterators.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/operand-constraints.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/predicates.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/rtl-template.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
  Add trailing newline.
* doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
  Add trailing newline.
* doc/gccint/makefile-fragments.rst:
  Add trailing newline.
* doc/gccint/match-and-simplify.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
  Add trailing newline.
* doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
  Add trailing newline.
* doc/gccint/option-file-format.rst:
  Add trailing newline.
* doc/gccint/option-properties.rst:
  Add trailing newline.
* doc/gccint/option-specification-files.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
  Add trailing newline.
* doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
  Add trailing newline.
* doc/gccint/plugins.rst:
  Add trailing newline.
* doc/gccint/plugins/building-gcc-plugins.rst:
  Add trailing newline.
* doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
  Add trailing newline.
* doc/gccint/plugins/giving-information-about-a-plugin.rst:
  Add trailing newline.
* doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
  Add trailing newline.
* doc/gccint/plugins/interacting-with-the-pass-manager.rst:
  Add trailing newline.
* doc/gccint/plugins/keeping-track-of-available-passes.rst:
  Add trailing newline.
* doc/gccint/plugins/loading-plugins.rst:
  Add trailing newline.
* doc/gccint/plugins/plugin-api.rst:
  Add trailing newline.
* doc/gccint/plugins/recording-information-about-pass-execution.rst:
  Add trailing newline.
* doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
  Add trailing newline.
* doc/gccint/rtl-representation.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/access-to-operands.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/access-to-special-operands.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/bit-fields.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/comparison-operations.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/constant-expression-types.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/conversions.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/declarations.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/insns.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/machine-modes.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/reading-rtl.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/registers-and-memory.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/rtl-object-types.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/side-effect-expressions.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
  Add trailing newline.
* doc/gccint/rtl-representation/vector-operations.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
  Add trailing newline.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
  Add trailing newline.
* doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
  Add trailing newline.
* doc/gccint/standard-header-file-directories.rst:
  Add trailing newline.
* doc/gccint/static-analyzer.rst:
  Add trailing newline.
* doc/gccint/target-macros.rst:
  Add trailing newline.
* doc/gccint/target-macros/controlling-debugging-information-format.rst:
  Add trailing newline.
* doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
  Add trailing newline.
* doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
  Add trailing newline.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
  Add trailing newline.
* doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
  Add trailing newline.
* doc/gccint/target-macros/layout-of-source-language-data-types.rst:
  Add trailing newline.
* doc/gccint/target-macros/position-independent-code.rst:
  Add trailing newline.
* doc/gccint/target-macros/register-usage.rst:
  Add trailing newline.
* doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
  Add trailing newline.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
  Add trailing newline.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
  Add trailing newline.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
  Add trailing newline.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
  Add trailing newline.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
  Add trailing newline.
* doc/gccint/target-macros/support-for-nested-functions.rst:
  Add trailing newline.
* doc/gccint/target-macros/the-global-targetm-variable.rst:
  Add trailing newline.
* doc/gccint/target-makefile-fragments.rst:
  Add trailing newline.
* doc/gccint/testsuites.rst:
  Add trailing newline.
* doc/gccint/testsuites/ada-language-testsuites.rst:
  Add trailing newline.
* doc/gccint/testsuites/c-language-testsuites.rst:
  Add trailing newline.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
  Add trailing newline.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
  Add trailing newline.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
  Add trailing newline.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
  Add trailing newline.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
  Add trailing newline.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
  Add trailing newline.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
  Add trailing newline.
* doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
  Add trailing newline.
* doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
  Add trailing newline.
* doc/gccint/testsuites/support-for-testing-gcov.rst:
  Add trailing newline.
* doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
  Add trailing newline.
* doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
  Add trailing newline.
* doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
  Add trailing newline.
* doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
  Add trailing newline.
* doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
  Add trailing newline.
* doc/gccint/the-gcc-low-level-runtime-library.rst:
  Add trailing newline.
* doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
  Add trailing newline.
* doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
  Add trailing newline.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
  Add trailing newline.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
  Add trailing newline.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
  Add trailing newline.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
  Add trailing newline.
* doc/gccint/the-language.rst:
  Add trailing newline.
* doc/gccint/user-experience-guidelines.rst:
  Add trailing newline.
* doc/install/binaries.rst:
  Add trailing newline.
* doc/install/building.rst:
  Add trailing newline.
* doc/install/building/building-a-cross-compiler.rst:
  Add trailing newline.
* doc/install/building/building-a-native-compiler.rst:
  Add trailing newline.
* doc/install/building/building-in-parallel.rst:
  Add trailing newline.
* doc/install/building/building-the-ada-compiler.rst:
  Add trailing newline.
* doc/install/building/building-the-d-compiler.rst:
  Add trailing newline.
* doc/install/building/building-with-profile-feedback.rst:
  Add trailing newline.
* doc/install/configuration.rst:
  Add trailing newline.
* doc/install/copyright.rst:
  Add trailing newline.
* doc/install/downloading-gcc.rst:
  Add trailing newline.
* doc/install/final-installation.rst:
  Add trailing newline.
* doc/install/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/install/host-target-specific-installation-notes-for-gcc.rst:
  Add trailing newline.
* doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
  Add trailing newline.
* doc/install/how-to-interpret-test-results.rst:
  Add trailing newline.
* doc/install/index.rst:
  Add trailing newline.
* doc/install/indices-and-tables.rst:
  Add trailing newline.
* doc/install/installing-gcc.rst:
  Add trailing newline.
* doc/install/passing-options-and-running-multiple-testsuites.rst:
  Add trailing newline.
* doc/install/prerequisites.rst:
  Add trailing newline.
* doc/install/submitting-test-results.rst:
  Add trailing newline.
* doc/install/testing.rst:
  Add trailing newline.

gcc/fortran/ChangeLog:

* doc/gfc-internals/code-that-interacts-with-the-user.rst:
  Add trailing newline.
* doc/gfc-internals/command-line-options.rst:
  Add trailing newline.
* doc/gfc-internals/copyright.rst:
  Add trailing newline.
* doc/gfc-internals/error-handling.rst:
  Add trailing newline.
* doc/gfc-internals/frontend-data-structures.rst:
  Add trailing newline.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst:
  Add trailing newline.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst:
  Add trailing newline.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst:
  Add trailing newline.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst:
  Add trailing newline.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst:
  Add trailing newline.
* doc/gfc-internals/gfccode.rst:
  Add trailing newline.
* doc/gfc-internals/gfcexpr.rst:
  Add trailing newline.
* doc/gfc-internals/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/gfc-internals/index.rst:
  Add trailing newline.
* doc/gfc-internals/indices-and-tables.rst:
  Add trailing newline.
* doc/gfc-internals/internals-of-fortran-2003-oop-features.rst:
  Add trailing newline.
* doc/gfc-internals/introduction.rst:
  Add trailing newline.
* doc/gfc-internals/symbol-versioning.rst:
  Add trailing newline.
* doc/gfc-internals/the-libgfortran-runtime-library.rst:
  Add trailing newline.
* doc/gfc-internals/type-bound-operators.rst:
  Add trailing newline.
* doc/gfc-internals/type-bound-procedures.rst:
  Add trailing newline.
* doc/gfortran/about-gnu-fortran.rst:
  Add trailing newline.
* doc/gfortran/coarray-programming.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/asynchronous-i-o.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/kind-type-parameters.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst:
  Add trailing newline.
* doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst:
  Add trailing newline.
* doc/gfortran/contributing.rst:
  Add trailing newline.
* doc/gfortran/contributors-to-gnu-fortran.rst:
  Add trailing newline.
* doc/gfortran/copyright.rst:
  Add trailing newline.
* doc/gfortran/extensions-implemented-in-gnu-fortran.rst:
  Add trailing newline.
* doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst:
  Add trailing newline.
* doc/gfortran/extensions.rst:
  Add trailing newline.
* doc/gfortran/function-abi-documentation.rst:
  Add trailing newline.
* doc/gfortran/funding.rst:
  Add trailing newline.
* doc/gfortran/general-public-license-3.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-and-gcc.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/description.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/option-summary.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst:
  Add trailing newline.
* doc/gfortran/gnu-fortran-compiler-directives.rst:
  Add trailing newline.
* doc/gfortran/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/gfortran/index.rst:
  Add trailing newline.
* doc/gfortran/indices-and-tables.rst:
  Add trailing newline.
* doc/gfortran/interoperability-with-c.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-modules.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-modules/isocbinding.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-modules/isofortranenv.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-modules/openacc-module-openacc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/abort.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/abs.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/access.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/achar.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/acos.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/acosd.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/acosh.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/adjustl.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/adjustr.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/aimag.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/alarm.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/all.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/allocated.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/and.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/any.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/asin.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/asind.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/asinh.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/associated.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atan.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atan2.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atan2d.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atanh.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicadd.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomiccas.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicdefine.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicfetchadd.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicfetchand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicfetchor.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicfetchxor.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicor.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicref.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/atomicxor.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/backtrace.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/besselj0.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/besselj1.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/besseljn.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/bessely0.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/bessely1.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/besselyn.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/bge.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/bgt.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/bitsize.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ble.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/blt.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/btest.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cassociated.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ceiling.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cfpointer.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cfprocpointer.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cfunloc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/chdir.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/chmod.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cloc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cmplx.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cobroadcast.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/comax.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/comin.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/commandargumentcount.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/compileroptions.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/compilerversion.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/complex.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/conjg.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/coreduce.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cos.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cosd.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cosh.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cosum.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cotan.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cotand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/count.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cputime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/cshift.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/csizeof.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ctime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dateandtime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dble.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dcmplx.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/digits.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dim.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dotproduct.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dprod.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dreal.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dshiftl.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dshiftr.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/dtime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/eoshift.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/epsilon.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/erf.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/erfc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/erfcscaled.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/etime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/eventquery.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/executecommandline.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/exit.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/exp.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/exponent.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/extendstypeof.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fdate.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fget.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fgetc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/findloc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/floor.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/flush.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fnum.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fput.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fputc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fraction.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/free.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fseek.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/fstat.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ftell.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/gamma.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/gerror.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getarg.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getcommand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getcommandargument.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getcwd.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getenv.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getgid.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getlog.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getpid.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/getuid.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/gmtime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/hostnm.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/huge.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/hypot.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/iachar.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/iall.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/iand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/iany.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/iargc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ibclr.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ibits.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ibset.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ichar.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/idate.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ieor.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ierrno.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/imageindex.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/index.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/int2.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/int8.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ior.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/iparity.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/irand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/isatty.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/iscontiguous.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ishft.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ishftc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/isiostatend.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/isiostateor.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/isnan.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/itime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/kill.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/kind.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lbound.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lcobound.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/leadz.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/len.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lentrim.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lge.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lgt.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/link.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lle.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/llt.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lnblnk.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/loc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/log.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/log10.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/loggamma.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/logical.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lshift.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/lstat.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ltime.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/malloc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/maskl.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/maskr.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/matmul.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/max.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/maxexponent.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/maxloc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/maxval.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/mclock.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/mclock8.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/merge.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/mergebits.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/min.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/minexponent.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/minloc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/minval.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/mod.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/modulo.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/movealloc.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/mvbits.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/nearest.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/newline.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/nint.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/norm2.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/not.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/null.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/numimages.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/or.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/pack.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/parity.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/perror.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/popcnt.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/poppar.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/precision.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/present.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/product.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/radix.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ran.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/rand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/randominit.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/randomnumber.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/randomseed.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/range.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/rank.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/rename.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/repeat.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/reshape.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/rrspacing.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/rshift.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sametypeas.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/scale.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/scan.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/secnds.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/second.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/selectedcharkind.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/selectedintkind.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/selectedrealkind.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/setexponent.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/shape.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/shifta.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/shiftl.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/shiftr.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sign.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/signal.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sin.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sind.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sinh.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/size.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sizeof.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sleep.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/spacing.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/spread.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sqrt.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/srand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/stat.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/storagesize.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/sum.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/symlnk.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/system.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/systemclock.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/tan.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/tand.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/tanh.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/thisimage.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/time.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/time8.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/tiny.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/trailz.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/transfer.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/transpose.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/trim.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ttynam.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ubound.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/ucobound.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/umask.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/unlink.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/unpack.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/verify.rst:
  Add trailing newline.
* doc/gfortran/intrinsic-procedures/xor.rst:
  Add trailing newline.
* doc/gfortran/introduction.rst:
  Add trailing newline.
* doc/gfortran/mixed-language-programming.rst:
  Add trailing newline.
* doc/gfortran/naming-and-argument-passing-conventions.rst:
  Add trailing newline.
* doc/gfortran/non-fortran-main-program.rst:
  Add trailing newline.
* doc/gfortran/projects.rst:
  Add trailing newline.
* doc/gfortran/runtime.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranconvertunit.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranerrorbacktrace.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranformattedbuffersize.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranlistseparator.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranoptionalplus.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranshowlocus.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranstderrunit.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranstdinunit.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranstdoutunit.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranunbufferedall.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranunbufferedpreconnected.rst:
  Add trailing newline.
* doc/gfortran/runtime/gfortranunformattedbuffersize.rst:
  Add trailing newline.
* doc/gfortran/runtime/tmpdir.rst:
  Add trailing newline.
* doc/gfortran/standards.rst:
  Add trailing newline.
* doc/gfortran/type-and-enum-abi-documentation.rst:
  Add trailing newline.

gcc/go/ChangeLog:

* doc/c-interoperability.rst:
  Add trailing newline.
* doc/c-type-interoperability.rst:
  Add trailing newline.
* doc/compiler-directives.rst:
  Add trailing newline.
* doc/copyright.rst:
  Add trailing newline.
* doc/function-names.rst:
  Add trailing newline.
* doc/general-public-license-3.rst:
  Add trailing newline.
* doc/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/import-and-export.rst:
  Add trailing newline.
* doc/index.rst:
  Add trailing newline.
* doc/indices-and-tables.rst:
  Add trailing newline.
* doc/introduction.rst:
  Add trailing newline.
* doc/invoking-gccgo.rst:
  Add trailing newline.

libgomp/ChangeLog:

* doc/amd-radeon-gcn.rst:
  Add trailing newline.
* doc/copyright.rst:
  Add trailing newline.
* doc/cuda-streams-usage.rst:
  Add trailing newline.
* doc/enabling-openacc.rst:
  Add trailing newline.
* doc/enabling-openmp.rst:
  Add trailing newline.
* doc/first-invocation-nvidia-cublas-library-api.rst:
  Add trailing newline.
* doc/first-invocation-openacc-library-api.rst:
  Add trailing newline.
* doc/funding.rst:
  Add trailing newline.
* doc/general-public-license-3.rst:
  Add trailing newline.
* doc/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/implementation-status-and-implementation-defined-behavior.rst:
  Add trailing newline.
* doc/index.rst:
  Add trailing newline.
* doc/indices-and-tables.rst:
  Add trailing newline.
* doc/introduction.rst:
  Add trailing newline.
* doc/memory-allocation-with-libmemkind.rst:
  Add trailing newline.
* doc/nvptx.rst:
  Add trailing newline.
* doc/offload-target-specifics.rst:
  Add trailing newline.
* doc/openacc-environment-variables.rst:
  Add trailing newline.
* doc/openacc-environment-variables/accdevicenum.rst:
  Add trailing newline.
* doc/openacc-environment-variables/accdevicetype.rst:
  Add trailing newline.
* doc/openacc-environment-variables/accproflib.rst:
  Add trailing newline.
* doc/openacc-environment-variables/gccaccnotify.rst:
  Add trailing newline.
* doc/openacc-introduction.rst:
  Add trailing newline.
* doc/openacc-library-and-environment-variables.rst:
  Add trailing newline.
* doc/openacc-library-interoperability.rst:
  Add trailing newline.
* doc/openacc-profiling-interface.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accasynctest.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accasynctestall.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accattach.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/acccopyin.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/acccopyout.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/acccreate.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accdelete.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accdetach.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accdeviceptr.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accfree.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accgetcudastream.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accgetdevicenum.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accgetdevicetype.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accgetnumdevices.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accgetproperty.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/acchostptr.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accinit.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accispresent.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accmalloc.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accmapdata.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accmemcpytodevice.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accondevice.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accpresentorcopyin.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accpresentorcreate.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accproflookup.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accprofregister.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accprofunregister.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accregisterlibrary.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accsetcudastream.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accsetdevicenum.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accsetdevicetype.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accshutdown.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accunmapdata.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accupdatedevice.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accupdateself.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accwait.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accwaitall.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accwaitallasync.rst:
  Add trailing newline.
* doc/openacc-runtime-library-routines/accwaitasync.rst:
  Add trailing newline.
* doc/openmp-context-selectors.rst:
  Add trailing newline.
* doc/openmp-environment-variables.rst:
  Add trailing newline.
* doc/openmp-environment-variables/gompcpuaffinity.rst:
  Add trailing newline.
* doc/openmp-environment-variables/gompdebug.rst:
  Add trailing newline.
* doc/openmp-environment-variables/gomprtemsthreadpools.rst:
  Add trailing newline.
* doc/openmp-environment-variables/gompspincount.rst:
  Add trailing newline.
* doc/openmp-environment-variables/gompstacksize.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompcancellation.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompdefaultdevice.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompdisplayenv.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompdynamic.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompmaxactivelevels.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompmaxtaskpriority.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompnested.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompnumteams.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompnumthreads.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompplaces.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompprocbind.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompschedule.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompstacksize.rst:
  Add trailing newline.
* doc/openmp-environment-variables/omptargetoffload.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompteamsthreadlimit.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompthreadlimit.rst:
  Add trailing newline.
* doc/openmp-environment-variables/ompwaitpolicy.rst:
  Add trailing newline.
* doc/openmp-implementation-specifics.rst:
  Add trailing newline.
* doc/openmp-implementation-status.rst:
  Add trailing newline.
* doc/openmp-implementation-status/openmp-45.rst:
  Add trailing newline.
* doc/openmp-implementation-status/openmp-50.rst:
  Add trailing newline.
* doc/openmp-implementation-status/openmp-51.rst:
  Add trailing newline.
* doc/openmp-implementation-status/openmp-52.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompdestroylock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompdestroynestlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompfulfillevent.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetactivelevel.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetcancellation.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetdevicenum.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetdynamic.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetinitialdevice.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetlevel.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetmaxteams.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetmaxthreads.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetnested.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetnumdevices.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetnumprocs.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetnumteams.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetnumthreads.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetprocbind.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetschedule.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetteamnum.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetteamsize.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetthreadlimit.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetthreadnum.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetwtick.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompgetwtime.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompinfinal.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompinitlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompinitnestlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompinparallel.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompisinitialdevice.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetdynamic.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetnested.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetnestlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetnumteams.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetnumthreads.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetschedule.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/omptestlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/omptestnestlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompunsetlock.rst:
  Add trailing newline.
* doc/openmp-runtime-library-routines/ompunsetnestlock.rst:
  Add trailing newline.
* doc/reporting-bugs.rst:
  Add trailing newline.
* doc/the-libgomp-abi.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-atomic-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-barrier-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-critical-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-flush-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-for-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-master-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-ordered-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-parallel-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-private-clause.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-reduction-clause.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-sections-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-single-construct.rst:
  Add trailing newline.
* doc/the-libgomp-abi/implementing-threadprivate-construct.rst:
  Add trailing newline.

libiberty/ChangeLog:

* doc/bsd.rst:
  Add trailing newline.
* doc/copyright.rst:
  Add trailing newline.
* doc/extensions.rst:
  Add trailing newline.
* doc/function-variable-and-macro-listing.rst:
  Add trailing newline.
* doc/index.rst:
  Add trailing newline.
* doc/indices-and-tables.rst:
  Add trailing newline.
* doc/introduction.rst:
  Add trailing newline.
* doc/lesser-general-public-license-2.1.rst:
  Add trailing newline.
* doc/overview.rst:
  Add trailing newline.
* doc/replacement-functions.rst:
  Add trailing newline.
* doc/supplemental-functions.rst:
  Add trailing newline.
* doc/using.rst:
  Add trailing newline.

libitm/ChangeLog:

* doc/c-c++-language-constructs-for-tm.rst:
  Add trailing newline.
* doc/copyright.rst:
  Add trailing newline.
* doc/enabling-libitm.rst:
  Add trailing newline.
* doc/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/index.rst:
  Add trailing newline.
* doc/indices-and-tables.rst:
  Add trailing newline.
* doc/internals.rst:
  Add trailing newline.
* doc/locking-conventions.rst:
  Add trailing newline.
* doc/nesting-flat-vs-closed.rst:
  Add trailing newline.
* doc/the-libitm-abi.rst:
  Add trailing newline.
* doc/the-libitm-abi/function-list.rst:
  Add trailing newline.
* doc/the-libitm-abi/future-enhancements-to-the-abi.rst:
  Add trailing newline.
* doc/the-libitm-abi/library-design-principles.rst:
  Add trailing newline.
* doc/the-libitm-abi/memory-model.rst:
  Add trailing newline.
* doc/the-libitm-abi/non-objectives.rst:
  Add trailing newline.
* doc/the-libitm-abi/objectives.rst:
  Add trailing newline.
* doc/the-libitm-abi/sample-code.rst:
  Add trailing newline.
* doc/the-libitm-abi/types-and-macros-list.rst:
  Add trailing newline.
* doc/tm-methods-and-method-groups.rst:
  Add trailing newline.

libquadmath/ChangeLog:

* doc/copyright.rst:
  Add trailing newline.
* doc/gnu-free-documentation-license.rst:
  Add trailing newline.
* doc/i-o-library-routines.rst:
  Add trailing newline.
* doc/index.rst:
  Add trailing newline.
* doc/indices-and-tables.rst:
  Add trailing newline.
* doc/introduction.rst:
  Add trailing newline.
* doc/math-library-routines.rst:
  Add trailing newline.
* doc/quadmathsnprintf.rst:
  Add trailing newline.
* doc/reporting-bugs.rst:
  Add trailing newline.
* doc/strtoflt128.rst:
  Add trailing newline.
* doc/typedef-and-constants.rst:
  Add trailing newline.

2 years agodocs: fix: WARNING: Parsing of expression failed. Using fallback parser.
Martin Liska [Wed, 9 Nov 2022 12:36:33 +0000 (13:36 +0100)]
docs: fix: WARNING: Parsing of expression failed. Using fallback parser.

For the future, we can use https://sphinx-fortran.readthedocs.io/ for
Fortran functions which can have optional arguments. However, it's an
additional dependency.

Simplify the function declration.

gcc/fortran/ChangeLog:

* doc/gfortran/intrinsic-procedures/aint.rst: Simplify function
  declaration.
* doc/gfortran/intrinsic-procedures/int.rst: Likewise.
* doc/gfortran/intrinsic-procedures/anint.rst: Likewise.
* doc/gfortran/intrinsic-procedures/char.rst: Likewise.
* doc/gfortran/intrinsic-procedures/real.rst: Likewise.

2 years agosphinx: update diagnostics URLs
Martin Liska [Wed, 9 Nov 2022 12:10:11 +0000 (13:10 +0100)]
sphinx: update diagnostics URLs

gcc/ChangeLog:

* opts.cc (get_option_html_page): Port to sphinx URLs.
(get_option_url): Likewise.
(test_get_option_html_page): Likewise.

2 years agoFix up foperator_abs::op1_range [PR107569]
Jakub Jelinek [Wed, 9 Nov 2022 12:07:32 +0000 (13:07 +0100)]
Fix up foperator_abs::op1_range [PR107569]

foperator_abs::op1_range works except for the NaN handling,
from:
[frange] double [-Inf, 1.79769313486231570814527423731704356798070567525844996599e+308 (0x0.fffffffffffff8p+1024)]
lhs it computes r
[frange] double [-1.79769313486231570814527423731704356798070567525844996599e+308 (-0x0.fffffffffffff8p+1024), 1.79769313486231570814527423731704356798070567525844996599e+308
+(0x0.fffffffffffff8p+1024)] +-NAN
which is correct except for the +-NAN part.
For r before the final step it makes sure to add -NAN if there is +NAN
in the lhs range, but the final r.union_ makes it unconditional +-NAN,
because the frange ctor sets +-NAN.
So, I think we need to clear it (or have some set variant which
says not to set NAN).

This patch fixes that, but isn't enough to fix the PR, something in
the assumptions handling is still broken (and the PR has other parts).

2022-11-09  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/107569
* range-op-float.cc (foperator_abs::op1_range): Clear NaNs
from the negatives frange before unioning it into r.

2 years agosphinx: update crontab with new script
Martin Liska [Wed, 9 Nov 2022 11:36:11 +0000 (12:36 +0100)]
sphinx: update crontab with new script

maintainer-scripts/ChangeLog:

* crontab: Use new script for documentation of master branch.

2 years agoAdd guality testcase for RTL alias analysis fix
Eric Botcazou [Wed, 9 Nov 2022 11:27:34 +0000 (12:27 +0100)]
Add guality testcase for RTL alias analysis fix

gcc/testsuite/
* gcc.dg/guality/param-6.c: New test.

2 years agosphinx: simplify default in baseconf.py.
Martin Liska [Wed, 9 Nov 2022 10:51:34 +0000 (11:51 +0100)]
sphinx: simplify default in baseconf.py.

ChangeLog:

* doc/baseconf.py: Simplify BUGURL and VERSION_PACKAGE,
provide a default.

maintainer-scripts/ChangeLog:

* update_web_docs_git.py: Simplify.

2 years agoc++: Minimal handling of carries_dependency attribute
Jakub Jelinek [Wed, 9 Nov 2022 10:39:22 +0000 (11:39 +0100)]
c++: Minimal handling of carries_dependency attribute

A comment in D2552R1:
"The only questionable (but still conforming) case we found was
[[carries_dependency(some_argument)]] on GCC, where the emitted diagnostic said that the
carries_dependency attribute is not supported, but did not specifically call out the syntax error
in the argument clause."
made me try the following patch, where we'll error at least
for arguments to the attribute and for some uses of the attribute
appertaining to something not mentioned in the standard warn
with different diagnostics (or should that be an error?; clang++
does that, but I think we never do for any attribute, standard or not).
The diagnostics on toplevel attribute declaration is still an
attribute ignored warning and on empty statement different wording.

The paper additionally mentions
struct X { [[nodiscard]]; }; // no diagnostic on GCC
and 2 cases of missing diagnostics on [[fallthrough]] (guess I should
file a PR about those; one problem is that do { ... } while (0); there
is replaced during genericization just by ... and another that
[[fallthrough]] there is followed by a label, but not user/case/default
label, but an artificial one created from while loop genericization.

2022-11-09  Jakub Jelinek  <jakub@redhat.com>

* tree.cc (handle_carries_dependency_attribute): New function.
(std_attribute_table): Add carries_dependency attribute.
* parser.cc (cp_parser_check_std_attribute): Add carries_dependency
attribute.

* g++.dg/cpp0x/attr-carries_dependency1.C: New test.

2 years agotestsuite: Fix up pr107541.c test
Jakub Jelinek [Wed, 9 Nov 2022 10:37:58 +0000 (11:37 +0100)]
testsuite: Fix up pr107541.c test

The test fails when long is 32-bit rather than 64-bit (say x86_64 with
RUNTESTFLAGS='--target_board=unix\{-m32,-m64\} tree-ssa.exp=pr107541.c'
).
I've tweaked it to use long long so it passes even on the 32-bit
targets, and added an early out for weirdo targets because I think
the test assumes the usual 1/2/4/8 bytes sizes for char/short/int/long long.

2022-11-09  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/107541
* gcc.dg/tree-ssa/pr107541.c (c): Use long long type rather than long.
(main): Punt if sizeof short isn't 2, or int 4, or long long 8.

2 years agoavr: sphinx: port gen-avr-mmcu to RST
Martin Liska [Wed, 19 Oct 2022 13:56:00 +0000 (15:56 +0200)]
avr: sphinx: port gen-avr-mmcu to RST

gcc/ChangeLog:

* Makefile.in: Add vpath default for .rst files.
* config/avr/avr-devices.cc: For port RST.
* config/avr/avr-mcus.def: Update path.
* config/avr/gen-avr-mmcu-texi.cc: Moved to...
* config/avr/gen-avr-mmcu-rst.cc: ...here.
* config/avr/t-avr: Update to rst.
* doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.

2 years agoRISC-V: costs: handle BSWAP
Philipp Tomsich [Fri, 18 Dec 2020 09:00:34 +0000 (10:00 +0100)]
RISC-V: costs: handle BSWAP

The BSWAP operation is not handled in rtx_costs. Add it.

With Zbb, BSWAP for XLEN is a single instruction; for smaller modes,
it will expand into two.

gcc/ChangeLog:

* config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.

2 years agoLoongArch: fix signed overflow in loongarch_emit_int_compare
Xi Ruoyao [Thu, 3 Nov 2022 17:35:25 +0000 (01:35 +0800)]
LoongArch: fix signed overflow in loongarch_emit_int_compare

Signed overflow is an undefined behavior, so we need to prevent it from
happening, instead of "checking" the result.

gcc/ChangeLog:

* config/loongarch/loongarch.cc (loongarch_emit_int_compare):
Avoid signed overflow.

2 years agosphinx: fix building if sphinx-build is missing
Martin Liska [Wed, 9 Nov 2022 09:07:32 +0000 (10:07 +0100)]
sphinx: fix building if sphinx-build is missing

libgomp/ChangeLog:

* Makefile.in: Build info pages conditionally.

libitm/ChangeLog:

* Makefile.in: Build info pages conditionally.

libquadmath/ChangeLog:

* Makefile.in: Build info pages conditionally.

2 years agoImplement op[12]_range operators for PLUS_EXPR and MINUS_EXPR.
Aldy Hernandez [Wed, 9 Nov 2022 00:00:57 +0000 (01:00 +0100)]
Implement op[12]_range operators for PLUS_EXPR and MINUS_EXPR.

We can implement the op[12]_range entries for plus and minus in terms
of each other.  These are adapted from the integer versions.

gcc/ChangeLog:

* range-op-float.cc (foperator_plus::op1_range): New.
(foperator_plus::op2_range): New.
(foperator_minus::op1_range): New.
(foperator_minus::op2_range): New.

2 years agosphinx: add update_web_docs_git.py script
Martin Liska [Mon, 7 Nov 2022 21:07:47 +0000 (22:07 +0100)]
sphinx: add update_web_docs_git.py script

maintainer-scripts/ChangeLog:

* update_web_docs_git.py: New file.

2 years agosphinx: support installation if sphinx-build is missing
Martin Liska [Tue, 8 Nov 2022 10:06:26 +0000 (11:06 +0100)]
sphinx: support installation if sphinx-build is missing

gcc/ChangeLog:

* Makefile.in: Support installation if sphinx-build is missing.

gcc/ada/ChangeLog:

* gcc-interface/Make-lang.in:
Support installation if sphinx-build is missing.

gcc/cp/ChangeLog:

* Make-lang.in:
Support installation if sphinx-build is missing.

gcc/d/ChangeLog:

* Make-lang.in:
Support installation if sphinx-build is missing.

gcc/fortran/ChangeLog:

* Make-lang.in:
Support installation if sphinx-build is missing.

gcc/go/ChangeLog:

* Make-lang.in:
Support installation if sphinx-build is missing.
Support installation if sphinx-build is missing.

gcc/jit/ChangeLog:

* Make-lang.in:
Support installation if sphinx-build is missing.

2 years agosphinx: sync latest changes
Martin Liska [Mon, 7 Nov 2022 21:18:24 +0000 (22:18 +0100)]
sphinx: sync latest changes

gcc/ChangeLog:

* doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
Port to RST.
* doc/gccint/target-macros/storage-layout.rst: Likewise.
* doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
* doc/gcc/gcc-command-options/option-summary.rst: Likewise.

2 years agosphinx: do not use tm.rst.in with empty content
Martin Liska [Mon, 7 Nov 2022 12:59:01 +0000 (13:59 +0100)]
sphinx: do not use tm.rst.in with empty content

gcc/ChangeLog:

* doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
Do not include tm.rst.in.
* doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
Likewise.
* doc/gccint/target-macros/run-time-target-specification.rst:
Likewise.

2 years agosphinx: fix cross manual references
Martin Liska [Thu, 28 Jul 2022 00:09:54 +0000 (02:09 +0200)]
sphinx: fix cross manual references

gcc/ada/ChangeLog:

* doc/gnat_rm/index.rst: Fix cross manual refs.

gcc/ChangeLog:

* doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
Fix cross manual refs.
* doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
Likewise.

gcc/jit/ChangeLog:

* doc/internals/index.rst: Fix cross manual refs.
* doc/topics/contexts.rst: Likewise.

2 years agosphinx: add --with-sphinx-build
Martin Liska [Wed, 27 Jul 2022 13:40:48 +0000 (15:40 +0200)]
sphinx: add --with-sphinx-build

gcc/ChangeLog:

* Makefile.in: Support --with-sphinx-build.
* configure.ac:
* configure: Regenerate.

gcc/ada/ChangeLog:

* gcc-interface/Make-lang.in: Support --with-sphinx-build.

gcc/d/ChangeLog:

* Make-lang.in: Support --with-sphinx-build.

gcc/fortran/ChangeLog:

* Make-lang.in: Support --with-sphinx-build.

gcc/go/ChangeLog:

* Make-lang.in: Support --with-sphinx-build.

gcc/jit/ChangeLog:

* Make-lang.in: Support --with-sphinx-build.

libgomp/ChangeLog:

* Makefile.in: Support --with-sphinx-build.
* configure.ac: Likewise..
* configure: Regenerate.

libiberty/ChangeLog:

* Makefile.in: Support --with-sphinx-build.
* configure.ac: Likewise.
* configure: Regenerate.

libitm/ChangeLog:

* Makefile.in: Support --with-sphinx-build.
* configure.ac: Likewise.
* configure: Regenerate.

libquadmath/ChangeLog:

* Makefile.in: Support --with-sphinx-build.
* configure.ac: Likewise.
* configure: Regenerate.

2 years agosphinx: use proper lexers for target macros
Martin Liska [Tue, 26 Jul 2022 12:14:19 +0000 (14:14 +0200)]
sphinx: use proper lexers for target macros

gcc/ChangeLog:

* target.def: Use proper lexers for target macros.
* doc/gccint/target-macros/tm.rst.in: Re-generate.

2 years agosphinx: ada: port to Sphinx
Martin Liska [Mon, 28 Jun 2021 11:53:49 +0000 (13:53 +0200)]
sphinx: ada: port to Sphinx

gcc/ada/ChangeLog:

* doc/gnat-style.rst: Moved to...
* doc/gnat-style/index.rst: ...here.
* doc/gnat_rm.rst: Moved to...
* doc/gnat_rm/index.rst: ...here.
* doc/gnat_ugn.rst: Moved to...
* doc/gnat_ugn/index.rst: ...here.
* doc/share/latex_elements.py: Moved to...
* doc/share/ada_latex_elements.py: ...here.
* gcc-interface/Make-lang.in:
* doc/Makefile: Removed.
* doc/share/conf.py: Removed.
* doc/share/gnu_free_documentation_license.rst: Removed.
* gnat-style.texi: Removed.
* gnat_rm.texi: Removed.
* gnat_ugn.texi: Removed.
* doc/gnat-style/conf.py: New file.
* doc/gnat-style/gnu_free_documentation_license.rst: New file.
* doc/gnat_rm/conf.py: New file.
* doc/gnat_rm/gnu_free_documentation_license.rst: New file.
* doc/gnat_ugn/conf.py: New file.
* doc/gnat_ugn/gnu_free_documentation_license.rst: New file.
* doc/share/adabaseconf.py: New file.
* doc/gnat_rm/security_hardening_features.rst: Add role.
* doc/gnat_ugn/platform_specific_information.rst: Remove
  duplicate definition of |nbsp|.

2 years agosphinx: jit: port libgccjit to shared Sphinx
Martin Liska [Tue, 26 Jul 2022 09:13:29 +0000 (11:13 +0200)]
sphinx: jit: port libgccjit to shared Sphinx

gcc/jit/ChangeLog:

* Make-lang.in:
* docs/cp/index.rst: Moved to...
* doc/cp/index.rst: ...here.
* docs/cp/intro/index.rst: Moved to...
* doc/cp/intro/index.rst: ...here.
* docs/cp/intro/tutorial01.rst: Moved to...
* doc/cp/intro/tutorial01.rst: ...here.
* docs/cp/intro/tutorial02.rst: Moved to...
* doc/cp/intro/tutorial02.rst: ...here.
* docs/cp/intro/tutorial03.rst: Moved to...
* doc/cp/intro/tutorial03.rst: ...here.
* docs/cp/intro/tutorial04.rst: Moved to...
* doc/cp/intro/tutorial04.rst: ...here.
* docs/cp/topics/asm.rst: Moved to...
* doc/cp/topics/asm.rst: ...here.
* docs/cp/topics/compilation.rst: Moved to...
* doc/cp/topics/compilation.rst: ...here.
* docs/cp/topics/contexts.rst: Moved to...
* doc/cp/topics/contexts.rst: ...here.
* docs/cp/topics/expressions.rst: Moved to...
* doc/cp/topics/expressions.rst: ...here.
* docs/cp/topics/functions.rst: Moved to...
* doc/cp/topics/functions.rst: ...here.
* docs/cp/topics/index.rst: Moved to...
* doc/cp/topics/index.rst: ...here.
* docs/cp/topics/locations.rst: Moved to...
* doc/cp/topics/locations.rst: ...here.
* docs/cp/topics/objects.rst: Moved to...
* doc/cp/topics/objects.rst: ...here.
* docs/cp/topics/types.rst: Moved to...
* doc/cp/topics/types.rst: ...here.
* docs/examples/emit-alphabet.bf: Moved to...
* doc/examples/emit-alphabet.bf: ...here.
* docs/examples/tut01-hello-world.c: Moved to...
* doc/examples/tut01-hello-world.c: ...here.
* docs/examples/tut01-hello-world.cc: Moved to...
* doc/examples/tut01-hello-world.cc: ...here.
* docs/examples/tut02-square.c: Moved to...
* doc/examples/tut02-square.c: ...here.
* docs/examples/tut02-square.cc: Moved to...
* doc/examples/tut02-square.cc: ...here.
* docs/examples/tut03-sum-of-squares.c: Moved to...
* doc/examples/tut03-sum-of-squares.c: ...here.
* docs/examples/tut03-sum-of-squares.cc: Moved to...
* doc/examples/tut03-sum-of-squares.cc: ...here.
* docs/examples/tut04-toyvm/Makefile: Moved to...
* doc/examples/tut04-toyvm/Makefile: ...here.
* docs/examples/tut04-toyvm/factorial.toy: Moved to...
* doc/examples/tut04-toyvm/factorial.toy: ...here.
* docs/examples/tut04-toyvm/fibonacci.toy: Moved to...
* doc/examples/tut04-toyvm/fibonacci.toy: ...here.
* docs/examples/tut04-toyvm/toyvm.c: Moved to...
* doc/examples/tut04-toyvm/toyvm.c: ...here.
* docs/examples/tut04-toyvm/toyvm.cc: Moved to...
* doc/examples/tut04-toyvm/toyvm.cc: ...here.
* docs/examples/tut05-bf.c: Moved to...
* doc/examples/tut05-bf.c: ...here.
* docs/index.rst: Moved to...
* doc/index.rst: ...here.
* docs/internals/index.rst: Moved to...
* doc/internals/index.rst: ...here.
* docs/internals/test-hello-world.exe.log.txt: Moved to...
* doc/internals/test-hello-world.exe.log.txt: ...here.
* docs/_build/texinfo/libgccjit-figures/factorial.png: Moved to...
* doc/intro/factorial.png: ...here.
* docs/intro/index.rst: Moved to...
* doc/intro/index.rst: ...here.
* docs/_build/texinfo/libgccjit-figures/sum-of-squares.png: Moved to...
* doc/intro/sum-of-squares.png: ...here.
* docs/intro/tutorial01.rst: Moved to...
* doc/intro/tutorial01.rst: ...here.
* docs/intro/tutorial02.rst: Moved to...
* doc/intro/tutorial02.rst: ...here.
* docs/intro/tutorial03.rst: Moved to...
* doc/intro/tutorial03.rst: ...here.
* docs/intro/tutorial04.rst: Moved to...
* doc/intro/tutorial04.rst: ...here.
* docs/intro/tutorial05.rst: Moved to...
* doc/intro/tutorial05.rst: ...here.
* docs/topics/asm.rst: Moved to...
* doc/topics/asm.rst: ...here.
* docs/topics/compatibility.rst: Moved to...
* doc/topics/compatibility.rst: ...here.
* docs/topics/compilation.rst: Moved to...
* doc/topics/compilation.rst: ...here.
* docs/topics/contexts.rst: Moved to...
* doc/topics/contexts.rst: ...here.
* docs/topics/expressions.rst: Moved to...
* doc/topics/expressions.rst: ...here.
* docs/topics/function-pointers.rst: Moved to...
* doc/topics/function-pointers.rst: ...here.
* docs/topics/functions.rst: Moved to...
* doc/topics/functions.rst: ...here.
* docs/topics/index.rst: Moved to...
* doc/topics/index.rst: ...here.
* docs/topics/locations.rst: Moved to...
* doc/topics/locations.rst: ...here.
* docs/topics/objects.rst: Moved to...
* doc/topics/objects.rst: ...here.
* docs/topics/performance.rst: Moved to...
* doc/topics/performance.rst: ...here.
* docs/topics/types.rst: Moved to...
* doc/topics/types.rst: ...here.
* docs/Makefile: Removed.
* docs/_build/texinfo/Makefile: Removed.
* docs/_build/texinfo/libgccjit-figures/factorial1.png: Removed.
* docs/_build/texinfo/libgccjit-figures/sum-of-squares1.png: Removed.
* docs/_build/texinfo/libgccjit.texi: Removed.
* docs/conf.py: Removed.
* docs/intro/factorial.png: Removed.
* docs/intro/sum-of-squares.png: Removed.
* doc/conf.py: New file.

2 years agosphinx: remove texinfo files
Martin Liska [Mon, 7 Nov 2022 12:23:41 +0000 (13:23 +0100)]
sphinx: remove texinfo files

gcc/d/ChangeLog:

* gdc.texi: Removed.

gcc/ChangeLog:

* doc/analyzer.texi: Removed.
* doc/avr-mmcu.texi: Removed.
* doc/bugreport.texi: Removed.
* doc/cfg.texi: Removed.
* doc/collect2.texi: Removed.
* doc/compat.texi: Removed.
* doc/configfiles.texi: Removed.
* doc/configterms.texi: Removed.
* doc/contrib.texi: Removed.
* doc/contribute.texi: Removed.
* doc/cpp.texi: Removed.
* doc/cppdiropts.texi: Removed.
* doc/cppenv.texi: Removed.
* doc/cppinternals.texi: Removed.
* doc/cppopts.texi: Removed.
* doc/cppwarnopts.texi: Removed.
* doc/extend.texi: Removed.
* doc/fragments.texi: Removed.
* doc/frontends.texi: Removed.
* doc/gcc.texi: Removed.
* doc/gccint.texi: Removed.
* doc/gcov-dump.texi: Removed.
* doc/gcov-tool.texi: Removed.
* doc/gcov.texi: Removed.
* doc/generic.texi: Removed.
* doc/gimple.texi: Removed.
* doc/gnu.texi: Removed.
* doc/gty.texi: Removed.
* doc/headerdirs.texi: Removed.
* doc/hostconfig.texi: Removed.
* doc/implement-c.texi: Removed.
* doc/implement-cxx.texi: Removed.
* doc/include/fdl.texi: Removed.
* doc/include/funding.texi: Removed.
* doc/include/gcc-common.texi: Removed.
* doc/include/gpl_v3.texi: Removed.
* doc/install.texi: Removed.
* doc/interface.texi: Removed.
* doc/invoke.texi: Removed.
* doc/languages.texi: Removed.
* doc/libgcc.texi: Removed.
* doc/loop.texi: Removed.
* doc/lto-dump.texi: Removed.
* doc/lto.texi: Removed.
* doc/makefile.texi: Removed.
* doc/match-and-simplify.texi: Removed.
* doc/md.texi: Removed.
* doc/objc.texi: Removed.
* doc/optinfo.texi: Removed.
* doc/options.texi: Removed.
* doc/passes.texi: Removed.
* doc/plugins.texi: Removed.
* doc/poly-int.texi: Removed.
* doc/portability.texi: Removed.
* doc/rtl.texi: Removed.
* doc/service.texi: Removed.
* doc/sourcebuild.texi: Removed.
* doc/standards.texi: Removed.
* doc/tm.texi: Removed.
* doc/tree-ssa.texi: Removed.
* doc/trouble.texi: Removed.
* doc/ux.texi: Removed.
* doc/tm.texi.in: Removed.

gcc/fortran/ChangeLog:

* gfc-internals.texi: Removed.
* gfortran.texi: Removed.
* intrinsic.texi: Removed.
* invoke.texi: Removed.

gcc/go/ChangeLog:

* gccgo.texi: Removed.

libgomp/ChangeLog:

* libgomp.texi: Removed.

libiberty/ChangeLog:

* at-file.texi: Removed.
* copying-lib.texi: Removed.
* functions.texi: Removed.
* libiberty.texi: Removed.
* obstacks.texi: Removed.

libitm/ChangeLog:

* libitm.texi: Removed.

libquadmath/ChangeLog:

* libquadmath.texi: Removed.

2 years agosphinx: add tm.rst.in
Martin Liska [Mon, 7 Nov 2022 12:21:38 +0000 (13:21 +0100)]
sphinx: add tm.rst.in

gcc/ChangeLog:

* doc/gccint/target-macros/tm.rst.in: New file.

2 years agosphinx: support Sphinx in build system
Martin Liska [Mon, 28 Jun 2021 11:53:40 +0000 (13:53 +0200)]
sphinx: support Sphinx in build system

config/ChangeLog:

* acx.m4: Do not wrap REPORT_BUGS_TO.

ChangeLog:

* configure: Regenerate.
* configure.ac: Support Sphinx based documentation.

gcc/ChangeLog:

* Makefile.in: Support Sphinx based documentation.
* configure: Regenerate.
* configure.ac: Support Sphinx based documentation.
* genhooks.cc (struct s_hook): Emit tm.rst.in file.

gcc/cp/ChangeLog:

* Make-lang.in: Support Sphinx based documentation.

gcc/d/ChangeLog:

* Make-lang.in: Support Sphinx based documentation.

gcc/fortran/ChangeLog:

* Make-lang.in: Support Sphinx based documentation.

gcc/go/ChangeLog:

* Make-lang.in: Support Sphinx based documentation.

libgomp/ChangeLog:

* Makefile.in: Support Sphinx based documentation.

libiberty/ChangeLog:

* Makefile.in: Support Sphinx based documentation.

libitm/ChangeLog:

* Makefile.in: Support Sphinx based documentation.

libquadmath/ChangeLog:

* Makefile.in: Support Sphinx based documentation.

2 years agosphinx: use tm.rst.in file in target macros
Martin Liska [Mon, 7 Nov 2022 12:13:56 +0000 (13:13 +0100)]
sphinx: use tm.rst.in file in target macros

gcc/ChangeLog:

* doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
* doc/gccint/target-macros/addressing-modes.rst: Likewise.
* doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
* doc/gccint/target-macros/anchored-addresses.rst: Likewise.
* doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
* doc/gccint/target-macros/condition-code-status.rst: Likewise.
* doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
* doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
* doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
* doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
* doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
Likewise.
* doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
Likewise.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
Likewise.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
Likewise.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
Likewise.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
Likewise.
* doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
Likewise.
* doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
* doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
* doc/gccint/target-macros/emulating-tls.rst: Likewise.
* doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
* doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
* doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
* doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
* doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
* doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
Likewise.
* doc/gccint/target-macros/register-classes.rst: Likewise.
* doc/gccint/target-macros/register-usage.rst: Likewise.
* doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
Likewise.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
Likewise.
* doc/gccint/target-macros/storage-layout.rst: Likewise.
* doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.

2 years agosphinx: port .def files to RST
Martin Liska [Mon, 7 Nov 2022 12:12:33 +0000 (13:12 +0100)]
sphinx: port .def files to RST

gcc/c-family/ChangeLog:

* c-target.def: Port to RST.

gcc/ChangeLog:

* common/common-target.def: Port to RST.
* target.def: Port to RST.

gcc/d/ChangeLog:

* d-target.def: Port to RST.

2 years agosphinx: update baseconf.py file
Martin Liska [Mon, 7 Nov 2022 11:59:25 +0000 (12:59 +0100)]
sphinx: update baseconf.py file

ChangeLog:

* doc/baseconf.py: Port to GCC sources.

2 years agosphinx: copy files from texi2rst-generated repository
Martin Liska [Mon, 7 Nov 2022 11:54:13 +0000 (12:54 +0100)]
sphinx: copy files from texi2rst-generated repository

ChangeLog:

* doc/Makefile: New file.
* doc/_static/custom.css: New file.
* doc/baseconf.py: New file.
* doc/bsd.rst: New file.
* doc/contrib.rst: New file.
* doc/contribute.rst: New file.
* doc/cppdiropts.rst: New file.
* doc/cppenv.rst: New file.
* doc/cppopts.rst: New file.
* doc/cppwarnopts.rst: New file.
* doc/favicon.ico: New file.
* doc/funding.rst: New file.
* doc/gcc_sphinx.py: New file.
* doc/gnu.rst: New file.
* doc/gnu_free_documentation_license.rst: New file.
* doc/gpl-3.0.rst: New file.
* doc/indices-and-tables.rst: New file.
* doc/lgpl-2.1.rst: New file.
* doc/logo.pdf: New file.
* doc/logo.svg: New file.
* doc/md.rst: New file.
* doc/requirements.txt: New file.

gcc/d/ChangeLog:

* doc/conf.py: New file.
* doc/copyright.rst: New file.
* doc/general-public-license-3.rst: New file.
* doc/gnu-free-documentation-license.rst: New file.
* doc/index.rst: New file.
* doc/indices-and-tables.rst: New file.
* doc/invoking-gdc.rst: New file.
* doc/invoking-gdc/code-generation.rst: New file.
* doc/invoking-gdc/developer-options.rst: New file.
* doc/invoking-gdc/input-and-output-files.rst: New file.
* doc/invoking-gdc/options-for-directory-search.rst: New file.
* doc/invoking-gdc/options-for-linking.rst: New file.
* doc/invoking-gdc/runtime-options.rst: New file.
* doc/invoking-gdc/warnings.rst: New file.

gcc/ChangeLog:

* doc/cpp/character-sets.rst: New file.
* doc/cpp/conditional-syntax.rst: New file.
* doc/cpp/conditional-uses.rst: New file.
* doc/cpp/conditionals.rst: New file.
* doc/cpp/conf.py: New file.
* doc/cpp/copyright.rst: New file.
* doc/cpp/deleted-code.rst: New file.
* doc/cpp/diagnostics.rst: New file.
* doc/cpp/environment-variables.rst: New file.
* doc/cpp/gnu-free-documentation-license.rst: New file.
* doc/cpp/header-files.rst: New file.
* doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
* doc/cpp/header-files/computed-includes.rst: New file.
* doc/cpp/header-files/include-operation.rst: New file.
* doc/cpp/header-files/include-syntax.rst: New file.
* doc/cpp/header-files/once-only-headers.rst: New file.
* doc/cpp/header-files/search-path.rst: New file.
* doc/cpp/header-files/system-headers.rst: New file.
* doc/cpp/header-files/wrapper-headers.rst: New file.
* doc/cpp/implementation-defined-behavior.rst: New file.
* doc/cpp/implementation-details.rst: New file.
* doc/cpp/implementation-limits.rst: New file.
* doc/cpp/index.rst: New file.
* doc/cpp/indices-and-tables.rst: New file.
* doc/cpp/initial-processing.rst: New file.
* doc/cpp/invocation.rst: New file.
* doc/cpp/line-control.rst: New file.
* doc/cpp/macros.rst: New file.
* doc/cpp/macros/concatenation.rst: New file.
* doc/cpp/macros/directives-within-macro-arguments.rst: New file.
* doc/cpp/macros/function-like-macros.rst: New file.
* doc/cpp/macros/macro-arguments.rst: New file.
* doc/cpp/macros/macro-pitfalls.rst: New file.
* doc/cpp/macros/object-like-macros.rst: New file.
* doc/cpp/macros/predefined-macros.rst: New file.
* doc/cpp/macros/stringizing.rst: New file.
* doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
* doc/cpp/macros/variadic-macros.rst: New file.
* doc/cpp/obsolete-features.rst: New file.
* doc/cpp/other-directives.rst: New file.
* doc/cpp/overview.rst: New file.
* doc/cpp/pragmas.rst: New file.
* doc/cpp/preprocessor-output.rst: New file.
* doc/cpp/the-preprocessing-language.rst: New file.
* doc/cpp/tokenization.rst: New file.
* doc/cpp/traditional-lexical-analysis.rst: New file.
* doc/cpp/traditional-macros.rst: New file.
* doc/cpp/traditional-miscellany.rst: New file.
* doc/cpp/traditional-mode.rst: New file.
* doc/cpp/traditional-warnings.rst: New file.
* doc/cppinternals/conf.py: New file.
* doc/cppinternals/copyright.rst: New file.
* doc/cppinternals/cppinternals.rst: New file.
* doc/cppinternals/cpplib.rst: New file.
* doc/cppinternals/files.rst: New file.
* doc/cppinternals/index.rst: New file.
* doc/cppinternals/indices-and-tables.rst: New file.
* doc/cppinternals/internal-representation-of-macros.rst: New file.
* doc/cppinternals/just-which-line-number-anyway.rst: New file.
* doc/cppinternals/lexing-a-line.rst: New file.
* doc/cppinternals/lexing-a-token.rst: New file.
* doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
* doc/cppinternals/macro-expansion-overview.rst: New file.
* doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
* doc/cppinternals/multiple-include-optimization.rst: New file.
* doc/cppinternals/overview.rst: New file.
* doc/cppinternals/representation-of-line-numbers.rst: New file.
* doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
* doc/gcc/binary-compatibility.rst: New file.
* doc/gcc/c++-implementation-defined-behavior.rst: New file.
* doc/gcc/c-implementation-defined-behavior.rst: New file.
* doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
* doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
* doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
* doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
* doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
* doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
* doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
* doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
* doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
* doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
* doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
* doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
* doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
* doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
* doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
New file.
* doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
* doc/gcc/conditionally-supported-behavior.rst: New file.
* doc/gcc/conf.py: New file.
* doc/gcc/contributing-to-gcc-development.rst: New file.
* doc/gcc/contributors-to-gcc.rst: New file.
* doc/gcc/copyright.rst: New file.
* doc/gcc/exception-handling.rst: New file.
* doc/gcc/extensions-to-the-c++-language.rst: New file.
* doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
* doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
* doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
New file.
* doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
* doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
New file.
* doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
* doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
* doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
* doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
* doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
New file.
* doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
* doc/gcc/extensions-to-the-c-language-family.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
* doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
New file.
* doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
New file.
* doc/gcc/funding.rst: New file.
* doc/gcc/gcc-command-options.rst: New file.
* doc/gcc/gcc-command-options/c++-modules.rst: New file.
* doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
* doc/gcc/gcc-command-options/description.rst: New file.
* doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
* doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
New file.
* doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
New file.
* doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
New file.
* doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
* doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
* doc/gcc/gcc-command-options/option-summary.rst: New file.
* doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
* doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
* doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
New file.
* doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
* doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
* doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
* doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
* doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
* doc/gcc/gcc-command-options/options-for-linking.rst: New file.
* doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
* doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
* doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
New file.
* doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
* doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
* doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
* doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
New file.
* doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
* doc/gcc/gcc.rst: New file.
* doc/gcc/gcov-dump.rst: New file.
* doc/gcc/gcov-tool.rst: New file.
* doc/gcc/gcov.rst: New file.
* doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
* doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
* doc/gcc/gcov/introduction-to-gcov.rst: New file.
* doc/gcc/gcov/invoking-gcov.rst: New file.
* doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
* doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
* doc/gcc/general-public-license-3.rst: New file.
* doc/gcc/gnu-free-documentation-license.rst: New file.
* doc/gcc/gnu-objective-c-features.rst: New file.
* doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
* doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
* doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
* doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
* doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
* doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
* doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
* doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
* doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
* doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
* doc/gcc/gnu.rst: New file.
* doc/gcc/have-you-found-a-bug.rst: New file.
* doc/gcc/how-and-where-to-report-bugs.rst: New file.
* doc/gcc/how-to-get-help-with-gcc.rst: New file.
* doc/gcc/index.rst: New file.
* doc/gcc/indices-and-tables.rst: New file.
* doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
* doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
* doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
New file.
* doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
New file.
* doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
New file.
* doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
* doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
* doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
* doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
* doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
New file.
* doc/gcc/language-standards-supported-by-gcc.rst: New file.
* doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
* doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
* doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
* doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
* doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
New file.
* doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
* doc/gcc/lto-dump.rst: New file.
* doc/gcc/programming-languages-supported-by-gcc.rst: New file.
* doc/gcc/reporting-bugs.rst: New file.
* doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
* doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
New file.
* doc/gccint/analysis-and-representation-of-loops.rst: New file.
* doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
* doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
* doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
* doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
* doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
* doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
* doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
New file.
* doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
* doc/gccint/analyzer-internals.rst: New file.
* doc/gccint/collect2.rst: New file.
* doc/gccint/conf.py: New file.
* doc/gccint/contributing-to-gcc-development.rst: New file.
* doc/gccint/contributors-to-gcc.rst: New file.
* doc/gccint/control-flow-graph.rst: New file.
* doc/gccint/control-flow-graph/basic-blocks.rst: New file.
* doc/gccint/control-flow-graph/edges.rst: New file.
* doc/gccint/control-flow-graph/liveness-information.rst: New file.
* doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
* doc/gccint/control-flow-graph/profile-information.rst: New file.
* doc/gccint/copyright.rst: New file.
* doc/gccint/debugging-the-analyzer.rst: New file.
* doc/gccint/funding.rst: New file.
* doc/gccint/gcc-and-portability.rst: New file.
* doc/gccint/general-public-license-3.rst: New file.
* doc/gccint/generic.rst: New file.
* doc/gccint/generic/attributes-in-trees.rst: New file.
* doc/gccint/generic/c-and-c++-trees.rst: New file.
* doc/gccint/generic/declarations.rst: New file.
* doc/gccint/generic/deficiencies.rst: New file.
* doc/gccint/generic/expressions.rst: New file.
* doc/gccint/generic/functions.rst: New file.
* doc/gccint/generic/language-dependent-trees.rst: New file.
* doc/gccint/generic/overview.rst: New file.
* doc/gccint/generic/statements.rst: New file.
* doc/gccint/generic/types.rst: New file.
* doc/gccint/gimple-api.rst: New file.
* doc/gccint/gimple.rst: New file.
* doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
* doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
* doc/gccint/gimple/exception-handling.rst: New file.
* doc/gccint/gimple/gimple-instruction-set.rst: New file.
* doc/gccint/gimple/gimple-sequences.rst: New file.
* doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
* doc/gccint/gimple/operands.rst: New file.
* doc/gccint/gimple/sequence-iterators.rst: New file.
* doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
* doc/gccint/gimple/temporaries.rst: New file.
* doc/gccint/gimple/tuple-representation.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
* doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
* doc/gccint/gnu-free-documentation-license.rst: New file.
* doc/gccint/guidelines-for-diagnostics.rst: New file.
* doc/gccint/guidelines-for-options.rst: New file.
* doc/gccint/host-common.rst: New file.
* doc/gccint/host-configuration.rst: New file.
* doc/gccint/host-filesystem.rst: New file.
* doc/gccint/host-makefile-fragments.rst: New file.
* doc/gccint/host-misc.rst: New file.
* doc/gccint/index.rst: New file.
* doc/gccint/indices-and-tables.rst: New file.
* doc/gccint/interfacing-to-gcc-output.rst: New file.
* doc/gccint/introduction.rst: New file.
* doc/gccint/language-front-ends-in-gcc.rst: New file.
* doc/gccint/link-time-optimization.rst: New file.
* doc/gccint/link-time-optimization/design-overview.rst: New file.
* doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
* doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
* doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
* doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
New file.
* doc/gccint/machine-descriptions.rst: New file.
* doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
* doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
* doc/gccint/machine-descriptions/conditional-execution.rst: New file.
* doc/gccint/machine-descriptions/constant-definitions.rst: New file.
* doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
* doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
* doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
* doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
* doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
* doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
* doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
* doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
* doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
* doc/gccint/machine-descriptions/iterators.rst: New file.
* doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
* doc/gccint/machine-descriptions/operand-constraints.rst: New file.
* doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
* doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
New file.
* doc/gccint/machine-descriptions/predicates.rst: New file.
* doc/gccint/machine-descriptions/rtl-template.rst: New file.
* doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
* doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
* doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
* doc/gccint/makefile-fragments.rst: New file.
* doc/gccint/match-and-simplify.rst: New file.
* doc/gccint/memory-management-and-type-information.rst: New file.
* doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
New file.
* doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
New file.
* doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
New file.
* doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
* doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
New file.
* doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
* doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
New file.
* doc/gccint/option-file-format.rst: New file.
* doc/gccint/option-properties.rst: New file.
* doc/gccint/option-specification-files.rst: New file.
* doc/gccint/passes-and-files-of-the-compiler.rst: New file.
* doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
* doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
New file.
* doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
* doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
* doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
* doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
* doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
* doc/gccint/plugins.rst: New file.
* doc/gccint/plugins/building-gcc-plugins.rst: New file.
* doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
* doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
* doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
* doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
* doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
* doc/gccint/plugins/loading-plugins.rst: New file.
* doc/gccint/plugins/plugin-api.rst: New file.
* doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
* doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
* doc/gccint/rtl-representation.rst: New file.
* doc/gccint/rtl-representation/access-to-operands.rst: New file.
* doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
* doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
* doc/gccint/rtl-representation/bit-fields.rst: New file.
* doc/gccint/rtl-representation/comparison-operations.rst: New file.
* doc/gccint/rtl-representation/constant-expression-types.rst: New file.
* doc/gccint/rtl-representation/conversions.rst: New file.
* doc/gccint/rtl-representation/declarations.rst: New file.
* doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
* doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
* doc/gccint/rtl-representation/insns.rst: New file.
* doc/gccint/rtl-representation/machine-modes.rst: New file.
* doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
* doc/gccint/rtl-representation/reading-rtl.rst: New file.
* doc/gccint/rtl-representation/registers-and-memory.rst: New file.
* doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
* doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
* doc/gccint/rtl-representation/rtl-object-types.rst: New file.
* doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
* doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
* doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
* doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
* doc/gccint/rtl-representation/vector-operations.rst: New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
New file.
* doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
* doc/gccint/source-tree-structure-and-build-system.rst: New file.
* doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
New file.
* doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
New file.
* doc/gccint/standard-header-file-directories.rst: New file.
* doc/gccint/static-analyzer.rst: New file.
* doc/gccint/target-macros.rst: New file.
* doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
* doc/gccint/target-macros/addressing-modes.rst: New file.
* doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
* doc/gccint/target-macros/anchored-addresses.rst: New file.
* doc/gccint/target-macros/c++-abi-parameters.rst: New file.
* doc/gccint/target-macros/condition-code-status.rst: New file.
* doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
* doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
* doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
* doc/gccint/target-macros/d-abi-parameters.rst: New file.
* doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
* doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
New file.
* doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
* doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
New file.
* doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
New file.
* doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
* doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
* doc/gccint/target-macros/emulating-tls.rst: New file.
* doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
* doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
* doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
* doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
* doc/gccint/target-macros/mode-switching-instructions.rst: New file.
* doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
New file.
* doc/gccint/target-macros/position-independent-code.rst: New file.
* doc/gccint/target-macros/register-classes.rst: New file.
* doc/gccint/target-macros/register-usage.rst: New file.
* doc/gccint/target-macros/run-time-target-specification.rst: New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
New file.
* doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
New file.
* doc/gccint/target-macros/storage-layout.rst: New file.
* doc/gccint/target-macros/support-for-nested-functions.rst: New file.
* doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
* doc/gccint/target-makefile-fragments.rst: New file.
* doc/gccint/testsuites.rst: New test.
* doc/gccint/testsuites/ada-language-testsuites.rst: New test.
* doc/gccint/testsuites/c-language-testsuites.rst: New test.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
New test.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
New test.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
New test.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
New test.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
New test.
* doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
New test.
* doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
* doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
* doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
* doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
* doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
* doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
* doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
* doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
* doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
* doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
New file.
* doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
New file.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
New file.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
New file.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
New file.
* doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
New file.
* doc/gccint/the-language.rst: New file.
* doc/gccint/user-experience-guidelines.rst: New file.
* doc/install/binaries.rst: New file.
* doc/install/building.rst: New file.
* doc/install/building/building-a-cross-compiler.rst: New file.
* doc/install/building/building-a-native-compiler.rst: New file.
* doc/install/building/building-in-parallel.rst: New file.
* doc/install/building/building-the-ada-compiler.rst: New file.
* doc/install/building/building-the-d-compiler.rst: New file.
* doc/install/building/building-with-profile-feedback.rst: New file.
* doc/install/conf.py: New file.
* doc/install/configuration.rst: New file.
* doc/install/copyright.rst: New file.
* doc/install/downloading-gcc.rst: New file.
* doc/install/final-installation.rst: New file.
* doc/install/gnu-free-documentation-license.rst: New file.
* doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
* doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
* doc/install/how-to-interpret-test-results.rst: New file.
* doc/install/index.rst: New file.
* doc/install/indices-and-tables.rst: New file.
* doc/install/installing-gcc.rst: New file.
* doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
* doc/install/prerequisites.rst: New file.
* doc/install/submitting-test-results.rst: New file.
* doc/install/testing.rst: New file.

gcc/fortran/ChangeLog:

* doc/gfc-internals/code-that-interacts-with-the-user.rst: New file.
* doc/gfc-internals/command-line-options.rst: New file.
* doc/gfc-internals/conf.py: New file.
* doc/gfc-internals/copyright.rst: New file.
* doc/gfc-internals/error-handling.rst: New file.
* doc/gfc-internals/frontend-data-structures.rst: New file.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages.rst: New file.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/accessing-declarations.rst:
New file.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/basic-data-structures.rst:
New file.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/converting-expressions-to-tree.rst:
New file.
* doc/gfc-internals/generating-the-intermediate-language-for-later-stages/translating-statements.rst:
New file.
* doc/gfc-internals/gfccode.rst: New file.
* doc/gfc-internals/gfcexpr.rst: New file.
* doc/gfc-internals/gnu-free-documentation-license.rst: New file.
* doc/gfc-internals/index.rst: New file.
* doc/gfc-internals/indices-and-tables.rst: New file.
* doc/gfc-internals/internals-of-fortran-2003-oop-features.rst: New file.
* doc/gfc-internals/introduction.rst: New file.
* doc/gfc-internals/symbol-versioning.rst: New file.
* doc/gfc-internals/the-libgfortran-runtime-library.rst: New file.
* doc/gfc-internals/type-bound-operators.rst: New file.
* doc/gfc-internals/type-bound-procedures.rst: New file.
* doc/gfortran/about-gnu-fortran.rst: New file.
* doc/gfortran/coarray-programming.rst: New file.
* doc/gfortran/compiler-characteristics.rst: New file.
* doc/gfortran/compiler-characteristics/asynchronous-i-o.rst: New file.
* doc/gfortran/compiler-characteristics/data-consistency-and-durability.rst: New file.
* doc/gfortran/compiler-characteristics/evaluation-of-logical-expressions.rst: New file.
* doc/gfortran/compiler-characteristics/file-format-of-unformatted-sequential-files.rst:
New file.
* doc/gfortran/compiler-characteristics/file-operations-on-symbolic-links.rst: New file.
* doc/gfortran/compiler-characteristics/files-opened-without-an-explicit-action=-specifier.rst:
New file.
* doc/gfortran/compiler-characteristics/internal-representation-of-logical-variables.rst:
New file.
* doc/gfortran/compiler-characteristics/kind-type-parameters.rst: New file.
* doc/gfortran/compiler-characteristics/max-and-min-intrinsics-with-real-nan-arguments.rst:
New file.
* doc/gfortran/compiler-characteristics/thread-safety-of-the-runtime-library.rst: New file.
* doc/gfortran/conf.py: New file.
* doc/gfortran/contributing.rst: New file.
* doc/gfortran/contributors-to-gnu-fortran.rst: New file.
* doc/gfortran/copyright.rst: New file.
* doc/gfortran/extensions-implemented-in-gnu-fortran.rst: New file.
* doc/gfortran/extensions-not-implemented-in-gnu-fortran.rst: New file.
* doc/gfortran/extensions.rst: New file.
* doc/gfortran/function-abi-documentation.rst: New file.
* doc/gfortran/funding.rst: New file.
* doc/gfortran/general-public-license-3.rst: New file.
* doc/gfortran/gnu-fortran-and-gcc.rst: New file.
* doc/gfortran/gnu-fortran-command-options.rst: New file.
* doc/gfortran/gnu-fortran-command-options/description.rst: New file.
* doc/gfortran/gnu-fortran-command-options/enable-and-customize-preprocessing.rst: New file.
* doc/gfortran/gnu-fortran-command-options/environment-variables-affecting-gfortran.rst:
New file.
* doc/gfortran/gnu-fortran-command-options/influencing-runtime-behavior.rst: New file.
* doc/gfortran/gnu-fortran-command-options/influencing-the-linking-step.rst: New file.
* doc/gfortran/gnu-fortran-command-options/option-summary.rst: New file.
* doc/gfortran/gnu-fortran-command-options/options-controlling-fortran-dialect.rst:
New file.
* doc/gfortran/gnu-fortran-command-options/options-for-code-generation-conventions.rst:
New file.
* doc/gfortran/gnu-fortran-command-options/options-for-debugging-your-program-or-gnu-fortran.rst:
New file.
* doc/gfortran/gnu-fortran-command-options/options-for-directory-search.rst: New file.
* doc/gfortran/gnu-fortran-command-options/options-for-interoperability-with-other-languages.rst:
New file.
* doc/gfortran/gnu-fortran-command-options/options-to-request-or-suppress-errors-and-warnings.rst:
New file.
* doc/gfortran/gnu-fortran-compiler-directives.rst: New file.
* doc/gfortran/gnu-free-documentation-license.rst: New file.
* doc/gfortran/index.rst: New file.
* doc/gfortran/indices-and-tables.rst: New file.
* doc/gfortran/interoperability-with-c.rst: New file.
* doc/gfortran/intrinsic-modules.rst: New file.
* doc/gfortran/intrinsic-modules/ieee-modules-ieeeexceptions-ieeearithmetic-and-ieeefeatures.rst:
New file.
* doc/gfortran/intrinsic-modules/isocbinding.rst: New file.
* doc/gfortran/intrinsic-modules/isofortranenv.rst: New file.
* doc/gfortran/intrinsic-modules/openacc-module-openacc.rst: New file.
* doc/gfortran/intrinsic-modules/openmp-modules-omplib-and-omplibkinds.rst: New file.
* doc/gfortran/intrinsic-procedures.rst: New file.
* doc/gfortran/intrinsic-procedures/abort.rst: New file.
* doc/gfortran/intrinsic-procedures/abs.rst: New file.
* doc/gfortran/intrinsic-procedures/access.rst: New file.
* doc/gfortran/intrinsic-procedures/achar.rst: New file.
* doc/gfortran/intrinsic-procedures/acos.rst: New file.
* doc/gfortran/intrinsic-procedures/acosd.rst: New file.
* doc/gfortran/intrinsic-procedures/acosh.rst: New file.
* doc/gfortran/intrinsic-procedures/adjustl.rst: New file.
* doc/gfortran/intrinsic-procedures/adjustr.rst: New file.
* doc/gfortran/intrinsic-procedures/aimag.rst: New file.
* doc/gfortran/intrinsic-procedures/aint.rst: New file.
* doc/gfortran/intrinsic-procedures/alarm.rst: New file.
* doc/gfortran/intrinsic-procedures/all.rst: New file.
* doc/gfortran/intrinsic-procedures/allocated.rst: New file.
* doc/gfortran/intrinsic-procedures/and.rst: New file.
* doc/gfortran/intrinsic-procedures/anint.rst: New file.
* doc/gfortran/intrinsic-procedures/any.rst: New file.
* doc/gfortran/intrinsic-procedures/asin.rst: New file.
* doc/gfortran/intrinsic-procedures/asind.rst: New file.
* doc/gfortran/intrinsic-procedures/asinh.rst: New file.
* doc/gfortran/intrinsic-procedures/associated.rst: New file.
* doc/gfortran/intrinsic-procedures/atan.rst: New file.
* doc/gfortran/intrinsic-procedures/atan2.rst: New file.
* doc/gfortran/intrinsic-procedures/atan2d.rst: New file.
* doc/gfortran/intrinsic-procedures/atand.rst: New file.
* doc/gfortran/intrinsic-procedures/atanh.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicadd.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicand.rst: New file.
* doc/gfortran/intrinsic-procedures/atomiccas.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicdefine.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicfetchadd.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicfetchand.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicfetchor.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicfetchxor.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicor.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicref.rst: New file.
* doc/gfortran/intrinsic-procedures/atomicxor.rst: New file.
* doc/gfortran/intrinsic-procedures/backtrace.rst: New file.
* doc/gfortran/intrinsic-procedures/besselj0.rst: New file.
* doc/gfortran/intrinsic-procedures/besselj1.rst: New file.
* doc/gfortran/intrinsic-procedures/besseljn.rst: New file.
* doc/gfortran/intrinsic-procedures/bessely0.rst: New file.
* doc/gfortran/intrinsic-procedures/bessely1.rst: New file.
* doc/gfortran/intrinsic-procedures/besselyn.rst: New file.
* doc/gfortran/intrinsic-procedures/bge.rst: New file.
* doc/gfortran/intrinsic-procedures/bgt.rst: New file.
* doc/gfortran/intrinsic-procedures/bitsize.rst: New file.
* doc/gfortran/intrinsic-procedures/ble.rst: New file.
* doc/gfortran/intrinsic-procedures/blt.rst: New file.
* doc/gfortran/intrinsic-procedures/btest.rst: New file.
* doc/gfortran/intrinsic-procedures/cassociated.rst: New file.
* doc/gfortran/intrinsic-procedures/ceiling.rst: New file.
* doc/gfortran/intrinsic-procedures/cfpointer.rst: New file.
* doc/gfortran/intrinsic-procedures/cfprocpointer.rst: New file.
* doc/gfortran/intrinsic-procedures/cfunloc.rst: New file.
* doc/gfortran/intrinsic-procedures/char.rst: New file.
* doc/gfortran/intrinsic-procedures/chdir.rst: New file.
* doc/gfortran/intrinsic-procedures/chmod.rst: New file.
* doc/gfortran/intrinsic-procedures/cloc.rst: New file.
* doc/gfortran/intrinsic-procedures/cmplx.rst: New file.
* doc/gfortran/intrinsic-procedures/cobroadcast.rst: New file.
* doc/gfortran/intrinsic-procedures/comax.rst: New file.
* doc/gfortran/intrinsic-procedures/comin.rst: New file.
* doc/gfortran/intrinsic-procedures/commandargumentcount.rst: New file.
* doc/gfortran/intrinsic-procedures/compileroptions.rst: New file.
* doc/gfortran/intrinsic-procedures/compilerversion.rst: New file.
* doc/gfortran/intrinsic-procedures/complex.rst: New file.
* doc/gfortran/intrinsic-procedures/conjg.rst: New file.
* doc/gfortran/intrinsic-procedures/coreduce.rst: New file.
* doc/gfortran/intrinsic-procedures/cos.rst: New file.
* doc/gfortran/intrinsic-procedures/cosd.rst: New file.
* doc/gfortran/intrinsic-procedures/cosh.rst: New file.
* doc/gfortran/intrinsic-procedures/cosum.rst: New file.
* doc/gfortran/intrinsic-procedures/cotan.rst: New file.
* doc/gfortran/intrinsic-procedures/cotand.rst: New file.
* doc/gfortran/intrinsic-procedures/count.rst: New file.
* doc/gfortran/intrinsic-procedures/cputime.rst: New file.
* doc/gfortran/intrinsic-procedures/cshift.rst: New file.
* doc/gfortran/intrinsic-procedures/csizeof.rst: New file.
* doc/gfortran/intrinsic-procedures/ctime.rst: New file.
* doc/gfortran/intrinsic-procedures/dateandtime.rst: New file.
* doc/gfortran/intrinsic-procedures/dble.rst: New file.
* doc/gfortran/intrinsic-procedures/dcmplx.rst: New file.
* doc/gfortran/intrinsic-procedures/digits.rst: New file.
* doc/gfortran/intrinsic-procedures/dim.rst: New file.
* doc/gfortran/intrinsic-procedures/dotproduct.rst: New file.
* doc/gfortran/intrinsic-procedures/dprod.rst: New file.
* doc/gfortran/intrinsic-procedures/dreal.rst: New file.
* doc/gfortran/intrinsic-procedures/dshiftl.rst: New file.
* doc/gfortran/intrinsic-procedures/dshiftr.rst: New file.
* doc/gfortran/intrinsic-procedures/dtime.rst: New file.
* doc/gfortran/intrinsic-procedures/eoshift.rst: New file.
* doc/gfortran/intrinsic-procedures/epsilon.rst: New file.
* doc/gfortran/intrinsic-procedures/erf.rst: New file.
* doc/gfortran/intrinsic-procedures/erfc.rst: New file.
* doc/gfortran/intrinsic-procedures/erfcscaled.rst: New file.
* doc/gfortran/intrinsic-procedures/etime.rst: New file.
* doc/gfortran/intrinsic-procedures/eventquery.rst: New file.
* doc/gfortran/intrinsic-procedures/executecommandline.rst: New file.
* doc/gfortran/intrinsic-procedures/exit.rst: New file.
* doc/gfortran/intrinsic-procedures/exp.rst: New file.
* doc/gfortran/intrinsic-procedures/exponent.rst: New file.
* doc/gfortran/intrinsic-procedures/extendstypeof.rst: New file.
* doc/gfortran/intrinsic-procedures/fdate.rst: New file.
* doc/gfortran/intrinsic-procedures/fget.rst: New file.
* doc/gfortran/intrinsic-procedures/fgetc.rst: New file.
* doc/gfortran/intrinsic-procedures/findloc.rst: New file.
* doc/gfortran/intrinsic-procedures/floor.rst: New file.
* doc/gfortran/intrinsic-procedures/flush.rst: New file.
* doc/gfortran/intrinsic-procedures/fnum.rst: New file.
* doc/gfortran/intrinsic-procedures/fput.rst: New file.
* doc/gfortran/intrinsic-procedures/fputc.rst: New file.
* doc/gfortran/intrinsic-procedures/fraction.rst: New file.
* doc/gfortran/intrinsic-procedures/free.rst: New file.
* doc/gfortran/intrinsic-procedures/fseek.rst: New file.
* doc/gfortran/intrinsic-procedures/fstat.rst: New file.
* doc/gfortran/intrinsic-procedures/ftell.rst: New file.
* doc/gfortran/intrinsic-procedures/gamma.rst: New file.
* doc/gfortran/intrinsic-procedures/gerror.rst: New file.
* doc/gfortran/intrinsic-procedures/getarg.rst: New file.
* doc/gfortran/intrinsic-procedures/getcommand.rst: New file.
* doc/gfortran/intrinsic-procedures/getcommandargument.rst: New file.
* doc/gfortran/intrinsic-procedures/getcwd.rst: New file.
* doc/gfortran/intrinsic-procedures/getenv.rst: New file.
* doc/gfortran/intrinsic-procedures/getenvironmentvariable.rst: New file.
* doc/gfortran/intrinsic-procedures/getgid.rst: New file.
* doc/gfortran/intrinsic-procedures/getlog.rst: New file.
* doc/gfortran/intrinsic-procedures/getpid.rst: New file.
* doc/gfortran/intrinsic-procedures/getuid.rst: New file.
* doc/gfortran/intrinsic-procedures/gmtime.rst: New file.
* doc/gfortran/intrinsic-procedures/hostnm.rst: New file.
* doc/gfortran/intrinsic-procedures/huge.rst: New file.
* doc/gfortran/intrinsic-procedures/hypot.rst: New file.
* doc/gfortran/intrinsic-procedures/iachar.rst: New file.
* doc/gfortran/intrinsic-procedures/iall.rst: New file.
* doc/gfortran/intrinsic-procedures/iand.rst: New file.
* doc/gfortran/intrinsic-procedures/iany.rst: New file.
* doc/gfortran/intrinsic-procedures/iargc.rst: New file.
* doc/gfortran/intrinsic-procedures/ibclr.rst: New file.
* doc/gfortran/intrinsic-procedures/ibits.rst: New file.
* doc/gfortran/intrinsic-procedures/ibset.rst: New file.
* doc/gfortran/intrinsic-procedures/ichar.rst: New file.
* doc/gfortran/intrinsic-procedures/idate.rst: New file.
* doc/gfortran/intrinsic-procedures/ieor.rst: New file.
* doc/gfortran/intrinsic-procedures/ierrno.rst: New file.
* doc/gfortran/intrinsic-procedures/imageindex.rst: New file.
* doc/gfortran/intrinsic-procedures/index.rst: New file.
* doc/gfortran/intrinsic-procedures/int.rst: New file.
* doc/gfortran/intrinsic-procedures/int2.rst: New file.
* doc/gfortran/intrinsic-procedures/int8.rst: New file.
* doc/gfortran/intrinsic-procedures/introduction-to-intrinsic-procedures.rst: New file.
* doc/gfortran/intrinsic-procedures/ior.rst: New file.
* doc/gfortran/intrinsic-procedures/iparity.rst: New file.
* doc/gfortran/intrinsic-procedures/irand.rst: New file.
* doc/gfortran/intrinsic-procedures/isatty.rst: New file.
* doc/gfortran/intrinsic-procedures/iscontiguous.rst: New file.
* doc/gfortran/intrinsic-procedures/ishft.rst: New file.
* doc/gfortran/intrinsic-procedures/ishftc.rst: New file.
* doc/gfortran/intrinsic-procedures/isiostatend.rst: New file.
* doc/gfortran/intrinsic-procedures/isiostateor.rst: New file.
* doc/gfortran/intrinsic-procedures/isnan.rst: New file.
* doc/gfortran/intrinsic-procedures/itime.rst: New file.
* doc/gfortran/intrinsic-procedures/kill.rst: New file.
* doc/gfortran/intrinsic-procedures/kind.rst: New file.
* doc/gfortran/intrinsic-procedures/lbound.rst: New file.
* doc/gfortran/intrinsic-procedures/lcobound.rst: New file.
* doc/gfortran/intrinsic-procedures/leadz.rst: New file.
* doc/gfortran/intrinsic-procedures/len.rst: New file.
* doc/gfortran/intrinsic-procedures/lentrim.rst: New file.
* doc/gfortran/intrinsic-procedures/lge.rst: New file.
* doc/gfortran/intrinsic-procedures/lgt.rst: New file.
* doc/gfortran/intrinsic-procedures/link.rst: New file.
* doc/gfortran/intrinsic-procedures/lle.rst: New file.
* doc/gfortran/intrinsic-procedures/llt.rst: New file.
* doc/gfortran/intrinsic-procedures/lnblnk.rst: New file.
* doc/gfortran/intrinsic-procedures/loc.rst: New file.
* doc/gfortran/intrinsic-procedures/log.rst: New file.
* doc/gfortran/intrinsic-procedures/log10.rst: New file.
* doc/gfortran/intrinsic-procedures/loggamma.rst: New file.
* doc/gfortran/intrinsic-procedures/logical.rst: New file.
* doc/gfortran/intrinsic-procedures/lshift.rst: New file.
* doc/gfortran/intrinsic-procedures/lstat.rst: New file.
* doc/gfortran/intrinsic-procedures/ltime.rst: New file.
* doc/gfortran/intrinsic-procedures/malloc.rst: New file.
* doc/gfortran/intrinsic-procedures/maskl.rst: New file.
* doc/gfortran/intrinsic-procedures/maskr.rst: New file.
* doc/gfortran/intrinsic-procedures/matmul.rst: New file.
* doc/gfortran/intrinsic-procedures/max.rst: New file.
* doc/gfortran/intrinsic-procedures/maxexponent.rst: New file.
* doc/gfortran/intrinsic-procedures/maxloc.rst: New file.
* doc/gfortran/intrinsic-procedures/maxval.rst: New file.
* doc/gfortran/intrinsic-procedures/mclock.rst: New file.
* doc/gfortran/intrinsic-procedures/mclock8.rst: New file.
* doc/gfortran/intrinsic-procedures/merge.rst: New file.
* doc/gfortran/intrinsic-procedures/mergebits.rst: New file.
* doc/gfortran/intrinsic-procedures/min.rst: New file.
* doc/gfortran/intrinsic-procedures/minexponent.rst: New file.
* doc/gfortran/intrinsic-procedures/minloc.rst: New file.
* doc/gfortran/intrinsic-procedures/minval.rst: New file.
* doc/gfortran/intrinsic-procedures/mod.rst: New file.
* doc/gfortran/intrinsic-procedures/modulo.rst: New file.
* doc/gfortran/intrinsic-procedures/movealloc.rst: New file.
* doc/gfortran/intrinsic-procedures/mvbits.rst: New file.
* doc/gfortran/intrinsic-procedures/nearest.rst: New file.
* doc/gfortran/intrinsic-procedures/newline.rst: New file.
* doc/gfortran/intrinsic-procedures/nint.rst: New file.
* doc/gfortran/intrinsic-procedures/norm2.rst: New file.
* doc/gfortran/intrinsic-procedures/not.rst: New file.
* doc/gfortran/intrinsic-procedures/null.rst: New file.
* doc/gfortran/intrinsic-procedures/numimages.rst: New file.
* doc/gfortran/intrinsic-procedures/or.rst: New file.
* doc/gfortran/intrinsic-procedures/pack.rst: New file.
* doc/gfortran/intrinsic-procedures/parity.rst: New file.
* doc/gfortran/intrinsic-procedures/perror.rst: New file.
* doc/gfortran/intrinsic-procedures/popcnt.rst: New file.
* doc/gfortran/intrinsic-procedures/poppar.rst: New file.
* doc/gfortran/intrinsic-procedures/precision.rst: New file.
* doc/gfortran/intrinsic-procedures/present.rst: New file.
* doc/gfortran/intrinsic-procedures/product.rst: New file.
* doc/gfortran/intrinsic-procedures/radix.rst: New file.
* doc/gfortran/intrinsic-procedures/ran.rst: New file.
* doc/gfortran/intrinsic-procedures/rand.rst: New file.
* doc/gfortran/intrinsic-procedures/randominit.rst: New file.
* doc/gfortran/intrinsic-procedures/randomnumber.rst: New file.
* doc/gfortran/intrinsic-procedures/randomseed.rst: New file.
* doc/gfortran/intrinsic-procedures/range.rst: New file.
* doc/gfortran/intrinsic-procedures/rank.rst: New file.
* doc/gfortran/intrinsic-procedures/real.rst: New file.
* doc/gfortran/intrinsic-procedures/rename.rst: New file.
* doc/gfortran/intrinsic-procedures/repeat.rst: New file.
* doc/gfortran/intrinsic-procedures/reshape.rst: New file.
* doc/gfortran/intrinsic-procedures/rrspacing.rst: New file.
* doc/gfortran/intrinsic-procedures/rshift.rst: New file.
* doc/gfortran/intrinsic-procedures/sametypeas.rst: New file.
* doc/gfortran/intrinsic-procedures/scale.rst: New file.
* doc/gfortran/intrinsic-procedures/scan.rst: New file.
* doc/gfortran/intrinsic-procedures/secnds.rst: New file.
* doc/gfortran/intrinsic-procedures/second.rst: New file.
* doc/gfortran/intrinsic-procedures/selectedcharkind.rst: New file.
* doc/gfortran/intrinsic-procedures/selectedintkind.rst: New file.
* doc/gfortran/intrinsic-procedures/selectedrealkind.rst: New file.
* doc/gfortran/intrinsic-procedures/setexponent.rst: New file.
* doc/gfortran/intrinsic-procedures/shape.rst: New file.
* doc/gfortran/intrinsic-procedures/shifta.rst: New file.
* doc/gfortran/intrinsic-procedures/shiftl.rst: New file.
* doc/gfortran/intrinsic-procedures/shiftr.rst: New file.
* doc/gfortran/intrinsic-procedures/sign.rst: New file.
* doc/gfortran/intrinsic-procedures/signal.rst: New file.
* doc/gfortran/intrinsic-procedures/sin.rst: New file.
* doc/gfortran/intrinsic-procedures/sind.rst: New file.
* doc/gfortran/intrinsic-procedures/sinh.rst: New file.
* doc/gfortran/intrinsic-procedures/size.rst: New file.
* doc/gfortran/intrinsic-procedures/sizeof.rst: New file.
* doc/gfortran/intrinsic-procedures/sleep.rst: New file.
* doc/gfortran/intrinsic-procedures/spacing.rst: New file.
* doc/gfortran/intrinsic-procedures/spread.rst: New file.
* doc/gfortran/intrinsic-procedures/sqrt.rst: New file.
* doc/gfortran/intrinsic-procedures/srand.rst: New file.
* doc/gfortran/intrinsic-procedures/stat.rst: New file.
* doc/gfortran/intrinsic-procedures/storagesize.rst: New file.
* doc/gfortran/intrinsic-procedures/sum.rst: New file.
* doc/gfortran/intrinsic-procedures/symlnk.rst: New file.
* doc/gfortran/intrinsic-procedures/system.rst: New file.
* doc/gfortran/intrinsic-procedures/systemclock.rst: New file.
* doc/gfortran/intrinsic-procedures/tan.rst: New file.
* doc/gfortran/intrinsic-procedures/tand.rst: New file.
* doc/gfortran/intrinsic-procedures/tanh.rst: New file.
* doc/gfortran/intrinsic-procedures/thisimage.rst: New file.
* doc/gfortran/intrinsic-procedures/time.rst: New file.
* doc/gfortran/intrinsic-procedures/time8.rst: New file.
* doc/gfortran/intrinsic-procedures/tiny.rst: New file.
* doc/gfortran/intrinsic-procedures/trailz.rst: New file.
* doc/gfortran/intrinsic-procedures/transfer.rst: New file.
* doc/gfortran/intrinsic-procedures/transpose.rst: New file.
* doc/gfortran/intrinsic-procedures/trim.rst: New file.
* doc/gfortran/intrinsic-procedures/ttynam.rst: New file.
* doc/gfortran/intrinsic-procedures/ubound.rst: New file.
* doc/gfortran/intrinsic-procedures/ucobound.rst: New file.
* doc/gfortran/intrinsic-procedures/umask.rst: New file.
* doc/gfortran/intrinsic-procedures/unlink.rst: New file.
* doc/gfortran/intrinsic-procedures/unpack.rst: New file.
* doc/gfortran/intrinsic-procedures/verify.rst: New file.
* doc/gfortran/intrinsic-procedures/xor.rst: New file.
* doc/gfortran/introduction.rst: New file.
* doc/gfortran/mixed-language-programming.rst: New file.
* doc/gfortran/naming-and-argument-passing-conventions.rst: New file.
* doc/gfortran/non-fortran-main-program.rst: New file.
* doc/gfortran/projects.rst: New file.
* doc/gfortran/runtime.rst: New file.
* doc/gfortran/runtime/gfortranconvertunit.rst: New file.
* doc/gfortran/runtime/gfortranerrorbacktrace.rst: New file.
* doc/gfortran/runtime/gfortranformattedbuffersize.rst: New file.
* doc/gfortran/runtime/gfortranlistseparator.rst: New file.
* doc/gfortran/runtime/gfortranoptionalplus.rst: New file.
* doc/gfortran/runtime/gfortranshowlocus.rst: New file.
* doc/gfortran/runtime/gfortranstderrunit.rst: New file.
* doc/gfortran/runtime/gfortranstdinunit.rst: New file.
* doc/gfortran/runtime/gfortranstdoutunit.rst: New file.
* doc/gfortran/runtime/gfortranunbufferedall.rst: New file.
* doc/gfortran/runtime/gfortranunbufferedpreconnected.rst: New file.
* doc/gfortran/runtime/gfortranunformattedbuffersize.rst: New file.
* doc/gfortran/runtime/tmpdir.rst: New file.
* doc/gfortran/standards.rst: New file.
* doc/gfortran/type-and-enum-abi-documentation.rst: New file.

gcc/go/ChangeLog:

* doc/c-interoperability.rst: New file.
* doc/c-type-interoperability.rst: New file.
* doc/compiler-directives.rst: New file.
* doc/conf.py: New file.
* doc/copyright.rst: New file.
* doc/function-names.rst: New file.
* doc/general-public-license-3.rst: New file.
* doc/gnu-free-documentation-license.rst: New file.
* doc/import-and-export.rst: New file.
* doc/index.rst: New file.
* doc/indices-and-tables.rst: New file.
* doc/introduction.rst: New file.
* doc/invoking-gccgo.rst: New file.

libgomp/ChangeLog:

* doc/amd-radeon-gcn.rst: New file.
* doc/conf.py: New file.
* doc/copyright.rst: New file.
* doc/cuda-streams-usage.rst: New file.
* doc/enabling-openacc.rst: New file.
* doc/enabling-openmp.rst: New file.
* doc/first-invocation-nvidia-cublas-library-api.rst: New file.
* doc/first-invocation-openacc-library-api.rst: New file.
* doc/funding.rst: New file.
* doc/general-public-license-3.rst: New file.
* doc/gnu-free-documentation-license.rst: New file.
* doc/implementation-status-and-implementation-defined-behavior.rst: New file.
* doc/index.rst: New file.
* doc/indices-and-tables.rst: New file.
* doc/introduction.rst: New file.
* doc/memory-allocation-with-libmemkind.rst: New file.
* doc/nvptx.rst: New file.
* doc/offload-target-specifics.rst: New file.
* doc/openacc-environment-variables.rst: New file.
* doc/openacc-environment-variables/accdevicenum.rst: New file.
* doc/openacc-environment-variables/accdevicetype.rst: New file.
* doc/openacc-environment-variables/accproflib.rst: New file.
* doc/openacc-environment-variables/gccaccnotify.rst: New file.
* doc/openacc-introduction.rst: New file.
* doc/openacc-library-and-environment-variables.rst: New file.
* doc/openacc-library-interoperability.rst: New file.
* doc/openacc-profiling-interface.rst: New file.
* doc/openacc-runtime-library-routines.rst: New file.
* doc/openacc-runtime-library-routines/accasynctest.rst: New file.
* doc/openacc-runtime-library-routines/accasynctestall.rst: New file.
* doc/openacc-runtime-library-routines/accattach.rst: New file.
* doc/openacc-runtime-library-routines/acccopyin.rst: New file.
* doc/openacc-runtime-library-routines/acccopyout.rst: New file.
* doc/openacc-runtime-library-routines/acccreate.rst: New file.
* doc/openacc-runtime-library-routines/accdelete.rst: New file.
* doc/openacc-runtime-library-routines/accdetach.rst: New file.
* doc/openacc-runtime-library-routines/accdeviceptr.rst: New file.
* doc/openacc-runtime-library-routines/accfree.rst: New file.
* doc/openacc-runtime-library-routines/accgetcudastream.rst: New file.
* doc/openacc-runtime-library-routines/accgetcurrentcudacontext.rst: New file.
* doc/openacc-runtime-library-routines/accgetcurrentcudadevice.rst: New file.
* doc/openacc-runtime-library-routines/accgetdevicenum.rst: New file.
* doc/openacc-runtime-library-routines/accgetdevicetype.rst: New file.
* doc/openacc-runtime-library-routines/accgetnumdevices.rst: New file.
* doc/openacc-runtime-library-routines/accgetproperty.rst: New file.
* doc/openacc-runtime-library-routines/acchostptr.rst: New file.
* doc/openacc-runtime-library-routines/accinit.rst: New file.
* doc/openacc-runtime-library-routines/accispresent.rst: New file.
* doc/openacc-runtime-library-routines/accmalloc.rst: New file.
* doc/openacc-runtime-library-routines/accmapdata.rst: New file.
* doc/openacc-runtime-library-routines/accmemcpyfromdevice.rst: New file.
* doc/openacc-runtime-library-routines/accmemcpytodevice.rst: New file.
* doc/openacc-runtime-library-routines/accondevice.rst: New file.
* doc/openacc-runtime-library-routines/accpresentorcopyin.rst: New file.
* doc/openacc-runtime-library-routines/accpresentorcreate.rst: New file.
* doc/openacc-runtime-library-routines/accproflookup.rst: New file.
* doc/openacc-runtime-library-routines/accprofregister.rst: New file.
* doc/openacc-runtime-library-routines/accprofunregister.rst: New file.
* doc/openacc-runtime-library-routines/accregisterlibrary.rst: New file.
* doc/openacc-runtime-library-routines/accsetcudastream.rst: New file.
* doc/openacc-runtime-library-routines/accsetdevicenum.rst: New file.
* doc/openacc-runtime-library-routines/accsetdevicetype.rst: New file.
* doc/openacc-runtime-library-routines/accshutdown.rst: New file.
* doc/openacc-runtime-library-routines/accunmapdata.rst: New file.
* doc/openacc-runtime-library-routines/accupdatedevice.rst: New file.
* doc/openacc-runtime-library-routines/accupdateself.rst: New file.
* doc/openacc-runtime-library-routines/accwait.rst: New file.
* doc/openacc-runtime-library-routines/accwaitall.rst: New file.
* doc/openacc-runtime-library-routines/accwaitallasync.rst: New file.
* doc/openacc-runtime-library-routines/accwaitasync.rst: New file.
* doc/openmp-context-selectors.rst: New file.
* doc/openmp-environment-variables.rst: New file.
* doc/openmp-environment-variables/gompcpuaffinity.rst: New file.
* doc/openmp-environment-variables/gompdebug.rst: New file.
* doc/openmp-environment-variables/gomprtemsthreadpools.rst: New file.
* doc/openmp-environment-variables/gompspincount.rst: New file.
* doc/openmp-environment-variables/gompstacksize.rst: New file.
* doc/openmp-environment-variables/ompcancellation.rst: New file.
* doc/openmp-environment-variables/ompdefaultdevice.rst: New file.
* doc/openmp-environment-variables/ompdisplayenv.rst: New file.
* doc/openmp-environment-variables/ompdynamic.rst: New file.
* doc/openmp-environment-variables/ompmaxactivelevels.rst: New file.
* doc/openmp-environment-variables/ompmaxtaskpriority.rst: New file.
* doc/openmp-environment-variables/ompnested.rst: New file.
* doc/openmp-environment-variables/ompnumteams.rst: New file.
* doc/openmp-environment-variables/ompnumthreads.rst: New file.
* doc/openmp-environment-variables/ompplaces.rst: New file.
* doc/openmp-environment-variables/ompprocbind.rst: New file.
* doc/openmp-environment-variables/ompschedule.rst: New file.
* doc/openmp-environment-variables/ompstacksize.rst: New file.
* doc/openmp-environment-variables/omptargetoffload.rst: New file.
* doc/openmp-environment-variables/ompteamsthreadlimit.rst: New file.
* doc/openmp-environment-variables/ompthreadlimit.rst: New file.
* doc/openmp-environment-variables/ompwaitpolicy.rst: New file.
* doc/openmp-implementation-specifics.rst: New file.
* doc/openmp-implementation-status.rst: New file.
* doc/openmp-implementation-status/openmp-45.rst: New file.
* doc/openmp-implementation-status/openmp-50.rst: New file.
* doc/openmp-implementation-status/openmp-51.rst: New file.
* doc/openmp-implementation-status/openmp-52.rst: New file.
* doc/openmp-runtime-library-routines.rst: New file.
* doc/openmp-runtime-library-routines/ompdestroylock.rst: New file.
* doc/openmp-runtime-library-routines/ompdestroynestlock.rst: New file.
* doc/openmp-runtime-library-routines/ompfulfillevent.rst: New file.
* doc/openmp-runtime-library-routines/ompgetactivelevel.rst: New file.
* doc/openmp-runtime-library-routines/ompgetancestorthreadnum.rst: New file.
* doc/openmp-runtime-library-routines/ompgetcancellation.rst: New file.
* doc/openmp-runtime-library-routines/ompgetdefaultdevice.rst: New file.
* doc/openmp-runtime-library-routines/ompgetdevicenum.rst: New file.
* doc/openmp-runtime-library-routines/ompgetdynamic.rst: New file.
* doc/openmp-runtime-library-routines/ompgetinitialdevice.rst: New file.
* doc/openmp-runtime-library-routines/ompgetlevel.rst: New file.
* doc/openmp-runtime-library-routines/ompgetmaxactivelevels.rst: New file.
* doc/openmp-runtime-library-routines/ompgetmaxtaskpriority.rst: New file.
* doc/openmp-runtime-library-routines/ompgetmaxteams.rst: New file.
* doc/openmp-runtime-library-routines/ompgetmaxthreads.rst: New file.
* doc/openmp-runtime-library-routines/ompgetnested.rst: New file.
* doc/openmp-runtime-library-routines/ompgetnumdevices.rst: New file.
* doc/openmp-runtime-library-routines/ompgetnumprocs.rst: New file.
* doc/openmp-runtime-library-routines/ompgetnumteams.rst: New file.
* doc/openmp-runtime-library-routines/ompgetnumthreads.rst: New file.
* doc/openmp-runtime-library-routines/ompgetprocbind.rst: New file.
* doc/openmp-runtime-library-routines/ompgetschedule.rst: New file.
* doc/openmp-runtime-library-routines/ompgetsupportedactivelevels.rst: New file.
* doc/openmp-runtime-library-routines/ompgetteamnum.rst: New file.
* doc/openmp-runtime-library-routines/ompgetteamsize.rst: New file.
* doc/openmp-runtime-library-routines/ompgetteamsthreadlimit.rst: New file.
* doc/openmp-runtime-library-routines/ompgetthreadlimit.rst: New file.
* doc/openmp-runtime-library-routines/ompgetthreadnum.rst: New file.
* doc/openmp-runtime-library-routines/ompgetwtick.rst: New file.
* doc/openmp-runtime-library-routines/ompgetwtime.rst: New file.
* doc/openmp-runtime-library-routines/ompinfinal.rst: New file.
* doc/openmp-runtime-library-routines/ompinitlock.rst: New file.
* doc/openmp-runtime-library-routines/ompinitnestlock.rst: New file.
* doc/openmp-runtime-library-routines/ompinparallel.rst: New file.
* doc/openmp-runtime-library-routines/ompisinitialdevice.rst: New file.
* doc/openmp-runtime-library-routines/ompsetdefaultdevice.rst: New file.
* doc/openmp-runtime-library-routines/ompsetdynamic.rst: New file.
* doc/openmp-runtime-library-routines/ompsetlock.rst: New file.
* doc/openmp-runtime-library-routines/ompsetmaxactivelevels.rst: New file.
* doc/openmp-runtime-library-routines/ompsetnested.rst: New file.
* doc/openmp-runtime-library-routines/ompsetnestlock.rst: New file.
* doc/openmp-runtime-library-routines/ompsetnumteams.rst: New file.
* doc/openmp-runtime-library-routines/ompsetnumthreads.rst: New file.
* doc/openmp-runtime-library-routines/ompsetschedule.rst: New file.
* doc/openmp-runtime-library-routines/ompsetteamsthreadlimit.rst: New file.
* doc/openmp-runtime-library-routines/omptestlock.rst: New file.
* doc/openmp-runtime-library-routines/omptestnestlock.rst: New file.
* doc/openmp-runtime-library-routines/ompunsetlock.rst: New file.
* doc/openmp-runtime-library-routines/ompunsetnestlock.rst: New file.
* doc/reporting-bugs.rst: New file.
* doc/the-libgomp-abi.rst: New file.
* doc/the-libgomp-abi/implementing-atomic-construct.rst: New file.
* doc/the-libgomp-abi/implementing-barrier-construct.rst: New file.
* doc/the-libgomp-abi/implementing-critical-construct.rst: New file.
* doc/the-libgomp-abi/implementing-firstprivate-lastprivate-copyin-and-copyprivate-clauses.rst:
New file.
* doc/the-libgomp-abi/implementing-flush-construct.rst: New file.
* doc/the-libgomp-abi/implementing-for-construct.rst: New file.
* doc/the-libgomp-abi/implementing-master-construct.rst: New file.
* doc/the-libgomp-abi/implementing-openaccs-parallel-construct.rst: New file.
* doc/the-libgomp-abi/implementing-ordered-construct.rst: New file.
* doc/the-libgomp-abi/implementing-parallel-construct.rst: New file.
* doc/the-libgomp-abi/implementing-private-clause.rst: New file.
* doc/the-libgomp-abi/implementing-reduction-clause.rst: New file.
* doc/the-libgomp-abi/implementing-sections-construct.rst: New file.
* doc/the-libgomp-abi/implementing-single-construct.rst: New file.
* doc/the-libgomp-abi/implementing-threadprivate-construct.rst: New file.

libiberty/ChangeLog:

* doc/bsd.rst: New file.
* doc/conf.py: New file.
* doc/copyright.rst: New file.
* doc/extensions.rst: New file.
* doc/function-variable-and-macro-listing.rst: New file.
* doc/index.rst: New file.
* doc/indices-and-tables.rst: New file.
* doc/introduction.rst: New file.
* doc/lesser-general-public-license-2.1.rst: New file.
* doc/overview.rst: New file.
* doc/replacement-functions.rst: New file.
* doc/supplemental-functions.rst: New file.
* doc/using.rst: New file.

libitm/ChangeLog:

* doc/c-c++-language-constructs-for-tm.rst: New file.
* doc/conf.py: New file.
* doc/copyright.rst: New file.
* doc/enabling-libitm.rst: New file.
* doc/gnu-free-documentation-license.rst: New file.
* doc/index.rst: New file.
* doc/indices-and-tables.rst: New file.
* doc/internals.rst: New file.
* doc/locking-conventions.rst: New file.
* doc/nesting-flat-vs-closed.rst: New file.
* doc/the-libitm-abi.rst: New file.
* doc/the-libitm-abi/function-list.rst: New file.
* doc/the-libitm-abi/future-enhancements-to-the-abi.rst: New file.
* doc/the-libitm-abi/library-design-principles.rst: New file.
* doc/the-libitm-abi/memory-model.rst: New file.
* doc/the-libitm-abi/non-objectives.rst: New file.
* doc/the-libitm-abi/objectives.rst: New file.
* doc/the-libitm-abi/sample-code.rst: New file.
* doc/the-libitm-abi/types-and-macros-list.rst: New file.
* doc/tm-methods-and-method-groups.rst: New file.

libquadmath/ChangeLog:

* doc/conf.py: New file.
* doc/copyright.rst: New file.
* doc/gnu-free-documentation-license.rst: New file.
* doc/i-o-library-routines.rst: New file.
* doc/index.rst: New file.
* doc/indices-and-tables.rst: New file.
* doc/introduction.rst: New file.
* doc/math-library-routines.rst: New file.
* doc/quadmathsnprintf.rst: New file.
* doc/reporting-bugs.rst: New file.
* doc/strtoflt128.rst: New file.
* doc/typedef-and-constants.rst: New file.

2 years ago[range-op-float] Implement MINUS_EXPR.
Aldy Hernandez [Tue, 8 Nov 2022 22:49:48 +0000 (23:49 +0100)]
[range-op-float] Implement MINUS_EXPR.

Now that the generic parts of the binary operators have been
abstracted, implementing MINUS_EXPR is a cinch.

The op[12]_range entries will be submitted as a follow-up.

gcc/ChangeLog:

* range-op-float.cc (class foperator_minus): New.
(floating_op_table::floating_op_table): Add MINUS_EXPR entry.

2 years ago[range-op-float] Abstract out binary operator code out of PLUS_EXPR entry.
Aldy Hernandez [Tue, 8 Nov 2022 22:49:04 +0000 (23:49 +0100)]
[range-op-float] Abstract out binary operator code out of PLUS_EXPR entry.

The PLUS_EXPR was always meant to be a template for further
development, since most of the binary operators will share a similar
structure.  This patch abstracts out the common bits into the default
definition for range_operator_float::fold_range() and provides an
rv_fold() to be implemented by the individual entries wishing to use
the generic folder.  This is akin to what we do with fold_range() and
wi_fold() in the integer version of range-ops.

gcc/ChangeLog:

* range-op-float.cc (range_operator_float::fold_range): Abstract
out from foperator_plus.
(range_operator_float::rv_fold): New.
(foperator_plus::fold_range): Remove.
(foperator_plus::rv_fold): New.
(propagate_nans): Remove.
* range-op.h (class range_operator_float): Add rv_fold.

2 years ago[range-op-float] Set NAN possibility for INF + (-INF) and vice versa.
Aldy Hernandez [Tue, 8 Nov 2022 22:42:04 +0000 (23:42 +0100)]
[range-op-float] Set NAN possibility for INF + (-INF) and vice versa.

Some combinations of operations can yield a NAN even if no operands
have the possiblity of a NAN.  For example, [-INF] + [+INF] = NAN and
vice versa.

For [-INF,+INF] + [-INF,+INF], frange_arithmetic will not return a
NAN, and since the operands have no possibility of a NAN, we will
mistakenly assume the result cannot have a NAN.  This fixes the
oversight.

gcc/ChangeLog:

* range-op-float.cc (foperator_plus::fold_range): Set NAN for
addition of different signed infinities.
(range_op_float_tests): New test.

2 years agoc++: Tweaks for -Wredundant-move [PR107363]
Marek Polacek [Fri, 28 Oct 2022 17:39:40 +0000 (13:39 -0400)]
c++: Tweaks for -Wredundant-move [PR107363]

Two things here:

1) when we're pointing out that std::move on a constant object is
   redundant, don't say "in return statement" when we aren't in a
   return statement;
2) suppress the warning when the std::move call was dependent, because
   removing the std::move may not be correct for a different
   instantiation of the original template.

PR c++/107363

gcc/cp/ChangeLog:

* semantics.cc (finish_call_expr): Suppress OPT_Wpessimizing_move.
* typeck.cc (maybe_warn_pessimizing_move): Check warn_redundant_move
and warning_suppressed_p.  Adjust a message depending on return_p.
(check_return_expr): Don't suppress OPT_Wpessimizing_move here.

gcc/testsuite/ChangeLog:

* g++.dg/cpp0x/Wredundant-move13.C: New test.

2 years agoFix incorrect insn type to avoid ICE in memory attr auto-detection.
liuhongt [Mon, 7 Nov 2022 01:55:25 +0000 (09:55 +0800)]
Fix incorrect insn type to avoid ICE in memory attr auto-detection.

Memory attribute auto detection will check operand 2 for type sselog,
and check operand 1 for type sselog1. For below 2 insns, there's no
operand 2. Change type to sselog1.

gcc/ChangeLog:

PR target/107540
* config/i386/sse.md (avx512f_movddup512<mask_name>): Change
type from sselog to sselog1.
(avx_movddup256<mask_name>): Ditto.

gcc/testsuite/ChangeLog:

* gcc.target/i386/pr107540.c: New test.

2 years agoDaily bump.
GCC Administrator [Wed, 9 Nov 2022 00:19:55 +0000 (00:19 +0000)]
Daily bump.

2 years agoanalyzer: eliminate region_model::eval_condition_without_cm [PR101962]
David Malcolm [Tue, 8 Nov 2022 22:49:07 +0000 (17:49 -0500)]
analyzer: eliminate region_model::eval_condition_without_cm [PR101962]

In r12-3094-ge82e0f149b0aba I added the assumption that
POINTER_PLUS_EXPR of non-NULL is non-NULL (for PR analyzer/101962).

Whilst working on another bug, I noticed that this only works
when the LHS is known to be non-NULL via
region_model::eval_condition_without_cm, but not when it's known through
a constraint.

This distinction predates the original commit of the analyzer in GCC 10,
but I believe it became irrelevant in the GCC 11 rewrite of the region
model code (r11-2694-g808f4dfeb3a95f).

Hence this patch eliminates region_model::eval_condition_without_cm in
favor of all users simply calling region_model::eval_condition.  Doing
so enables the "POINTER_PLUS_EXPR of non-NULL is non-NULL" assumption to
also be made when the LHS is known through a constraint (e.g. a
conditional).

gcc/analyzer/ChangeLog:
PR analyzer/101962
* region-model-impl-calls.cc: Update comment.
* region-model.cc (region_model::check_symbolic_bounds): Fix
layout of "void" return.  Replace usage of
eval_condition_without_cm with eval_condition.
(region_model::eval_condition): Take over body of...
(region_model::eval_condition_without_cm): ...this subroutine,
dropping the latter.  Eliminating this distinction avoids issues
where constraints were not considered when recursing.
(region_model::compare_initial_and_pointer): Update comment.
(region_model::symbolic_greater_than): Replace usage of
eval_condition_without_cm with eval_condition.
* region-model.h
(region_model::eval_condition_without_cm): Delete decl.

gcc/testsuite/ChangeLog:
PR analyzer/101962
* gcc.dg/analyzer/data-model-23.c (test_3): New test.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
2 years agolibstdc++: Fix -Wsystem-headers warnings in tests
Jonathan Wakely [Mon, 7 Nov 2022 15:00:34 +0000 (15:00 +0000)]
libstdc++: Fix -Wsystem-headers warnings in tests

libstdc++-v3/ChangeLog:

* testsuite/18_support/new_nothrow.cc: Add missing noexcept
to operator delete replacements.
* testsuite/20_util/any/cons/92156.cc: Disable
-Winit-list-lifetime warnings from instantiating invalid
specialization of manager function.
* testsuite/20_util/any/modifiers/92156.cc: Likewise.
* testsuite/20_util/default_delete/void_neg.cc: Prune additional
diagnostics.
* testsuite/20_util/headers/memory/synopsis.cc: Add missing
noexcept.
* testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune
additional diagnostic.
* testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add
missing noexcept to operator delete replacements.
* testsuite/21_strings/basic_string/cons/char/103919.cc:
Likewise.
* testsuite/23_containers/map/modifiers/emplace/92300.cc:
Likewise.
* testsuite/23_containers/map/modifiers/insert/92300.cc:
Likewise.
* testsuite/24_iterators/headers/iterator/range_access_c++11.cc:
Add missing noexcept to synopsis declarations.
* testsuite/24_iterators/headers/iterator/range_access_c++14.cc:
Likewise.
* testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
Likewise.

2 years agolibstdc++: Fix -Wsystem-headers warnings
Jonathan Wakely [Sat, 5 Nov 2022 12:35:55 +0000 (12:35 +0000)]
libstdc++: Fix -Wsystem-headers warnings

Fix some problems noticed with -Wsystem-headers.

libstdc++-v3/ChangeLog:

* include/bits/stl_tempbuf.h (_Temporary_buffer): Disable
warnings about get_temporary_buffer being deprecated.
* include/ext/functional (mem_fun1, mem_fun1_ref): Disable
warnings about mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t and
const_mem_fun1_ref_t being deprecated.
* include/std/array (__array_traits<T, 0>): Remove artificial
attributes which give warnings about being ignored.
* include/std/spanstream (basic_spanbuf::setbuf): Add assertion
and adjust to avoid narrowing warning.
* libsupc++/exception_ptr.h [!__cpp_rtti && !__cpp_exceptions]
(make_exception_ptr): Add missing inline specifier.

2 years agolibstdc++: Add always_inline to most allocator functions
Jonathan Wakely [Fri, 16 Sep 2022 15:30:02 +0000 (16:30 +0100)]
libstdc++: Add always_inline to most allocator functions

This reduces the abstraction penalty for allocator support in
unoptimized code. Constructing and using allocators in containers calls
many one-line (or completely empty) inline functions. Those can all be
inlined to reduce code size and function call overhead for -O0.

libstdc++-v3/ChangeLog:

* include/bits/alloc_traits.h (allocator_traits): Add
always_inline attribute to all member functions.
(__do_alloc_on_copy, __alloc_on_copy, __do_alloc_on_move)
(__alloc_on_move, __do_alloc_on_swap, __alloc_on_swap)
(_Destroy(FwdIter, FwdIter, allocator<T>&)): : Add
always_inline attribute.
* include/bits/allocator.h (allocator): Add always_inline
attribute to all member functions and equality operators.
* include/bits/new_allocator.h (__new_allocator): Likewise.
* include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits):
Likewise.

2 years agolibstdc++: basic_filebuf: don't flush more often than necessary [PR63746]
Charles-François Natali [Thu, 6 Oct 2022 19:02:56 +0000 (20:02 +0100)]
libstdc++: basic_filebuf: don't flush more often than necessary [PR63746]

`basic_filebuf::xsputn` would bypass the buffer when passed a chunk of
size 1024 and above, seemingly as an optimisation.

This can have a significant performance impact if the overhead of a
`write` syscall is non-negligible, e.g. on a slow disk, on network
filesystems, or simply during IO contention because instead of flushing
every `BUFSIZ` (by default), we can flush every 1024 char.
The impact is even greater with custom larger buffers, e.g. for network
filesystems, because the code could issue `write` for example 1000X more
often than necessary with respect to the buffer size.
It also introduces a significant discontinuity in performance when
writing chunks of size 1024 and above.

Instead, it makes sense to only bypass the buffer if the amount of data
to be written is larger than the buffer capacity.

Signed-off-by: Charles-Francois Natali <cf.natali@gmail.com>
libstdc++-v3/ChangeLog:

PR libstdc++/63746
* include/bits/fstream.tcc (basic_filbuf::xsputn): Remove
1024-byte chunking that bypasses the buffer for large writes.
* testsuite/27_io/basic_filebuf/sputn/char/63746.cc: New test.

2 years agolibstdc++: Refactor implementation of operator+ for std::string
Will Hawkins [Thu, 20 Oct 2022 00:05:59 +0000 (20:05 -0400)]
libstdc++: Refactor implementation of operator+ for std::string

Until now operator+(char*, string) and operator+(string, char*) had
different performance characteristics. The former required a single
memory allocation and the latter required two. This patch makes the
performance equal.

After consultation with Jonathan, it seemed like a good idea to create a
single function that performed one-allocation string concatenation that
could be used by various different version of operator+. This patch adds
such a function and calls it from the relevant implementations.

Co-authored-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:

* include/bits/basic_string.h (__str_cat): Add common function
that performs single-allocation string concatenation.
(operator+): Use __str_cat.
* include/bits/basic_string.tcc (operator+): Move to .h and
define inline using __str_cat.

Signed-off-by: Will Hawkins <whh8b@obs.cr>
2 years agobpf: Use enum for resolved overloaded builtins
David Faust [Mon, 7 Nov 2022 18:40:01 +0000 (10:40 -0800)]
bpf: Use enum for resolved overloaded builtins

Change several places in the eBPF backend dealing with overloaded
built-in functions to consistently use the enum bpf_builtins type,
rather than variously using integer constants or booleans. The result is
eaiser to read and extend.

gcc/

* config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
(bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
bpf_builtins for error checks.
(bpf_core_walk): Use values of enum bpf_builtins.
(bpf_core_newdecl): Likewise.
(bpf_expand_builtin): Likewise.

2 years ago[PR24021] Implement PLUS_EXPR range-op entry for floats.
Aldy Hernandez [Thu, 13 Oct 2022 06:14:16 +0000 (08:14 +0200)]
[PR24021] Implement PLUS_EXPR range-op entry for floats.

This is the range-op entry for floating point PLUS_EXPR.  It's the
most intricate range entry we have so far, because we need to keep
track of rounding and target FP formats.  This will be the last FP
entry I commit, mostly to avoid disturbing the tree any further, and
also because what we have so far is enough for a solid VRP.

So far we track NANs and signs correctly.  We also handle relationals
(symbolics and numeric), both ordered and unordered, ABS_EXPR and
NEGATE_EXPR which are used to fold __builtin_isinf, and __builtin_sign
(__builtin_copysign is coming up).  All in all, I think this provide
more than enough for basic VRP on floats, as well as provide a basis
to flesh out the rest if there's interest.

My goal with this entry is to provide a template for additional binary
operators, as they tend to follow a similar pattern: handle NANs, do
the arithmetic while keeping track of rounding, and adjust for NAN.  I
may abstract the general parts as we do for irange's fold_range and
wi_fold.

PR tree-optimization/24021

gcc/ChangeLog:

* range-op-float.cc (propagate_nans): New.
(frange_nextafter): New.
(frange_arithmetic): New.
(class foperator_plus): New.
(floating_op_table::floating_op_table): Add PLUS_EXPR entry.

gcc/testsuite/ChangeLog:

* gcc.dg/tree-ssa/vrp-float-plus.c: New test.

2 years agoProvide normalized and denormal format version of real_isdenormal.
Aldy Hernandez [Mon, 7 Nov 2022 13:18:57 +0000 (14:18 +0100)]
Provide normalized and denormal format version of real_isdenormal.

Implement a variant of real_isdenormal() to be used within real.cc
where the argument is known to be in denormal format.  Rewrite
real_isdenormal() for use outside of real.cc where the argument is
known to be normalized.

gcc/ChangeLog:

* real.cc (real_isdenormal): New.
(encode_ieee_single): Call real_isdenormal.
(encode_ieee_double): Same.
(encode_ieee_extended): Same.
(encode_ieee_quad): Same.
(encode_ieee_half): Same.
(encode_arm_bfloat_half): Same.
* real.h (real_isdenormal): Add mode argument.  Rewrite for
normalized values.
* value-range.cc (frange::flush_denormals_to_zero): Pass mode to
real_isdenormal.

2 years agotree-optimization/107389 - honor __builtin_assume_alignment at -O0
Richard Biener [Tue, 8 Nov 2022 12:49:16 +0000 (13:49 +0100)]
tree-optimization/107389 - honor __builtin_assume_alignment at -O0

The following makes sure to set alignment information on the LHS
of __builtin_assume_alignment calls even when not optimizing so
uses as arguments to builtin functions like memcpy or __atomic_load_n
can be reflected at RTL expansion time.

PR tree-optimization/107389
* gimple-low.cc (lower_builtin_assume_aligned): New.
(lower_stmt): Call it.

* gcc.dg/pr107389.c: New testcase.

2 years agoCCP: handle division by a power of 2 as a right shift.
Aldy Hernandez [Sun, 6 Nov 2022 19:38:42 +0000 (20:38 +0100)]
CCP: handle division by a power of 2 as a right shift.

We have some code in range-ops that sets better maybe nonzero bits for
TRUNC_DIV_EXPR by a power of 2 than CCP does, by just shifting the
mask.  I'd like to offload this functionality into the CCP mask
tracking code, which already does the right thing for right shifts.

The testcase for this change is gcc.dg/tree-ssa/vrp123.c and
gcc.dg/tree-ssa/pr107541.c.

gcc/ChangeLog:

* range-op.cc (operator_div::fold_range): Call
update_known_bitmask.
* tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
2 as a right shift.

2 years agoamdgcn: Fix expansion of GCN_BUILTIN_LDEXPV builtin
Kwok Cheung Yeung [Tue, 8 Nov 2022 14:38:23 +0000 (14:38 +0000)]
amdgcn: Fix expansion of GCN_BUILTIN_LDEXPV builtin

2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>

gcc/
* config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
of GCN_BUILTIN_LDEXPV to V64DFmode.

2 years agoamdgcn: Add builtins for vectorized native versions of abs, floorf and floor
Kwok Cheung Yeung [Tue, 8 Nov 2022 11:59:58 +0000 (11:59 +0000)]
amdgcn: Add builtins for vectorized native versions of abs, floorf and floor

2022-11-08  Kwok Cheung Yeung  <kcy@codesourcery.com>

gcc/
* config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
* config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.

gcc/testsuite/
* gcc.target/gcn/math-builtins-1.c: New test.

2 years agoUse bit-CCP in range-ops.
Aldy Hernandez [Sun, 6 Nov 2022 12:05:39 +0000 (13:05 +0100)]
Use bit-CCP in range-ops.

After Jakub and Richi's suggestion of using the same representation
for tracking known bits as we do in CCP, I took a peek at the code and
realized there's a plethora of bit-tracking code there that we could
be sharing with range-ops.  For example, the multiplication
optimizations are way better than what I had cobbled together.  For
that matter, our maybe nonzero tracking as a whole has a lot of room
for improvement.  Being the lazy ass that I am, I think we should just
use one code base (CCP's).

This patch provides a thin wrapper for converting the irange maybe
nonzero bits to what CCP requires, and uses that to call into
bit_value_binop().  I have so far converted the MULT_EXPR range-op
entry to use it, as the DIV_EXPR entry we have gets a case CCP doesn't
get so I'd like to contribute the enhancement to CCP before converting
over.

I'd like to use this approach with the dozen or so tree_code's that
are handled in CCP, thus saving us from having to implement any of
them :).

Early next season I'd like to change irange's internal representation
to a pair of value / mask, and start tracking all known bits.  This
ties in nicely with our plan for tracking known set bits.

Perhaps if the stars align, we could merge the bit twiddling in CCP
into range-ops and have a central repository for it.  That is, once we
make the switch to wide-ints, and assuming there are no performance
issues.  Note that range-ops is our lowest level abstraction.
i.e. it's just the math, there's no GORI or ranger, or even the
concept of a symbolic or SSA.

gcc/ChangeLog:

* range-op.cc (irange_to_masked_value): New.
(update_known_bitmask): New.
(operator_mult::fold_range): Call update_known_bitmask.

2 years agotestsuite: Fix failure in test pr105586.c [PR107171]
Surya Kumari Jangala [Thu, 13 Oct 2022 14:18:15 +0000 (09:18 -0500)]
testsuite: Fix failure in test pr105586.c [PR107171]

The test pr105586.c fails on a big endian system when run in 32bit
mode. The failure occurs as the test case does not guard against
unsupported __int128.

2022-10-13  Surya Kumari Jangala  <jskumari@linux.ibm.com>

gcc/testsuite/
PR testsuite/107171
* gcc.target/powerpc/pr105586.c: Guard against unsupported
__int128.

2 years agocdce: Fix up get_no_error_domain for new f{16,32,64,128} builtins [PR107547]
Jakub Jelinek [Tue, 8 Nov 2022 12:24:02 +0000 (13:24 +0100)]
cdce: Fix up get_no_error_domain for new f{16,32,64,128} builtins [PR107547]

I've missed that this function needs to handle all the builtins that
are handled in can_test_argument_range.
The following patch does that.  For many of the builtins (like acos, or
log) it is the same range regardless of the floating point type, but for
some (cosh, sinh, exp{,m1,2}) it is different for each format,
so I had to compute those ranges.

Note, seems the existing ranges were in some cases (e.g. for exp2)
the smallest in absolute value which results infinite result, in others
the largest which still results in finite result (but consistently so
for the IEEE single vs. double).  I've followed that for IEEE half and
quad cases too, just am not sure why it was like that.  I think
get_domain with true, false is open interval rather than closed
and the comments indicate that too, conservatively that is certainly
correct.

OT, with frange, perhaps we could DCE the calls unconditionally if
frange can prove we are in the domain range.

2022-11-08  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/107547
* tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}.  Handle
BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.

* gcc.dg/pr107547.c: New test.

2 years agoi386: Improve vector [GL]E{,U} comparison against vector constants [PR107546]
Jakub Jelinek [Tue, 8 Nov 2022 11:21:55 +0000 (12:21 +0100)]
i386: Improve vector [GL]E{,U} comparison against vector constants [PR107546]

For integer vector comparisons without XOP before AVX512{F,VL} we are
constrained by only GT and EQ being supported in HW.
For GTU we play tricks to implement it using GT or unsigned saturating
subtraction, for LT/LTU we swap the operands and thus turn it into
GT/GTU.  For LE/LEU we handle it by using GT/GTU and negating the
result and for GE/GEU by using GT/GTU on swapped operands and negating
the result.
If the second operand is a CONST_VECTOR, we can usually do better though,
we can avoid the negation.  For LE/LEU cst by doing LT/LTU cst+1 (and
then cst+1 GT/GTU x) and for GE/GEU cst by doing GT/GTU cst-1, provided
there is no wrap-around on those cst+1 or cst-1.
GIMPLE canonicalizes x < cst to x <= cst-1 etc. (the rule is smaller
absolute value on constant), but only for scalars or uniform vectors,
so in some cases this undoes that canonicalization in order to avoid
the extra negation, but it handles also non-uniform constants.
E.g. with -mavx2 the testcase assembly difference is:
-       movl    $47, %eax
+       movl    $48, %eax
        vmovdqa %xmm0, %xmm1
        vmovd   %eax, %xmm0
        vpbroadcastb    %xmm0, %xmm0
-       vpminsb %xmm0, %xmm1, %xmm0
-       vpcmpeqb        %xmm1, %xmm0, %xmm0
+       vpcmpgtb        %xmm1, %xmm0, %xmm0
and
-       vmovdqa %xmm0, %xmm1
-       vmovdqa .LC1(%rip), %xmm0
-       vpminsb %xmm1, %xmm0, %xmm1
-       vpcmpeqb        %xmm1, %xmm0, %xmm0
+       vpcmpgtb        .LC1(%rip), %xmm0, %xmm0
while with just SSE2:
-       pcmpgtb .LC0(%rip), %xmm0
-       pxor    %xmm1, %xmm1
-       pcmpeqb %xmm1, %xmm0
+       movdqa  %xmm0, %xmm1
+       movdqa  .LC0(%rip), %xmm0
+       pcmpgtb %xmm1, %xmm0
and
-       movdqa  %xmm0, %xmm1
-       movdqa  .LC1(%rip), %xmm0
-       pcmpgtb %xmm1, %xmm0
-       pxor    %xmm1, %xmm1
-       pcmpeqb %xmm1, %xmm0
+       pcmpgtb .LC1(%rip), %xmm0

2022-11-08  Jakub Jelinek  <jakub@redhat.com>

PR target/107546
* config/i386/predicates.md (vector_or_const_vector_operand): New
predicate.
* config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
predicate instead of nonimmediate_operand and
vector_or_const_vector_operand instead of vector_operand.
* config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
into LE/LEU or GT/GTU with larger or smaller by one cop1 if
there is no wrap-around.  Force CONST_VECTOR cop0 or cop1 into
REG.  Formatting fix.

* gcc.target/i386/pr107546.c: New test.

2 years agolibstdc++: Uncomment denorm_min test
Jakub Jelinek [Tue, 8 Nov 2022 10:19:25 +0000 (11:19 +0100)]
libstdc++: Uncomment denorm_min test

As r13-3609-g6d9dbdf51f9afe8 has been committed, we can now enable
even the denorm_min test.

2022-11-08  Jakub Jelinek  <jakub@redhat.com>

* testsuite/20_util/to_chars/float128_c++23.cc (test): Uncomment
denorm_min test.

2 years agogcc: fix PR rtl-optimization/107482
Max Filippov [Mon, 7 Nov 2022 21:58:49 +0000 (13:58 -0800)]
gcc: fix PR rtl-optimization/107482

gcc/
PR rtl-optimization/107482
* ira-color.cc (assign_hard_reg): Only call
update_costs_from_copies when retry_p is false.

2 years agoada: Fix oversight in implementation of allocators for storage models
Eric Botcazou [Tue, 18 Oct 2022 09:32:02 +0000 (11:32 +0200)]
ada: Fix oversight in implementation of allocators for storage models

When the allocator is of an unconstrained array type and has an initializing
expression, the copy of the initializing expression must be done separately
from that of the bounds.

gcc/ada/

* gcc-interface/utils2.cc (build_allocator): For unconstrained
array types with a storage model and an initializing expression,
copy the initialization expression separately from the bounds. In
all cases with a storage model, pass the locally computed size for
the store.

2 years agoada: Compile-time simplification of 'Image incorrectly ignores Put_Image
Steve Baird [Tue, 25 Oct 2022 23:59:29 +0000 (16:59 -0700)]
ada: Compile-time simplification of 'Image incorrectly ignores Put_Image

In the case of Some_Enumeration_Type'Image (<some static value>),
the compiler will replace this expression in its internal program
representation with a corresponding string literal. This is incorrect
if the Put_Image aspect has been specified (directly or via inheritance)
for the enumeration type.

gcc/ada/

* sem_attr.adb
(Eval_Attribute): Don't simplify 'Image call if Put_Image has been
specified.

2 years agoada: Clean up call to check if aspects are present
Piotr Trojanek [Wed, 26 Oct 2022 07:58:47 +0000 (09:58 +0200)]
ada: Clean up call to check if aspects are present

Code cleanup; semantics is unaffected.

gcc/ada/

* exp_ch6.adb, exp_put_image.adb, sem_aggr.adb, sem_attr.adb,
sem_ch5.adb, sem_type.adb, sem_util.adb: Replace
"Present (Find_Aspect (...))" with "Has_Aspect".

2 years agoada: Adjust classwide contract expression preanalysis
Ronan Desplanques [Mon, 24 Oct 2022 09:50:06 +0000 (11:50 +0200)]
ada: Adjust classwide contract expression preanalysis

Before this patch, a classwide contract expression was preanalyzed
only when its primitive operation's type was frozen. It caused name
resolution to be off in the cases where the freezing took place
after the end of the declaration list the primitive operation was
declared in.

This patch makes it so that if the compiler gets to the end of
the declaration list before the type is frozen, it preanalyzes the
classwide contract expression, so that the names are resolved in the
right context.

gcc/ada/

* contracts.adb
(Preanalyze_Class_Conditions): New procedure.
(Preanalyze_Condition): Moved out from Merge_Class_Conditions in
order to be spec-visible.
* contracts.ads
(Preanalyze_Class_Conditions): New procedure.
* sem_prag.adb
(Analyze_Pre_Post_Condition_In_Decl_Part): Call
Preanalyze_Class_Conditions when necessary.

2 years agoada: Set Support_Atomic_Primitives for VxWorks 7 runtimes
Johannes Kliemann [Fri, 21 Oct 2022 13:21:04 +0000 (13:21 +0000)]
ada: Set Support_Atomic_Primitives for VxWorks 7 runtimes

gcc/ada/

* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-aarch64.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-arm-rtp-smp.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-arm.ads: Set Support_Atomic_Primitives
to True.
* libgnat/system-vxworks7-ppc-kernel.ads: Set
Support_Atomic_Primitives to False.
* libgnat/system-vxworks7-ppc-rtp-smp.ads: Set
Support_Atomic_Primitives to False.
* libgnat/system-vxworks7-ppc64-kernel.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-x86-kernel.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-x86-rtp-smp.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-x86_64-kernel.ads: Set
Support_Atomic_Primitives to True.
* libgnat/system-vxworks7-x86_64-rtp-smp.ads: Set
Support_Atomic_Primitives to True.

2 years agoada: Small consistency fix
Eric Botcazou [Sat, 22 Oct 2022 10:48:13 +0000 (12:48 +0200)]
ada: Small consistency fix

gcc/ada/

* fe.h (Get_Warn_On_Questionable_Layout): Add void parameter.

2 years agoada: Propagate aspect Ghost when instantiating null formal procedures
Piotr Trojanek [Fri, 21 Oct 2022 18:12:15 +0000 (20:12 +0200)]
ada: Propagate aspect Ghost when instantiating null formal procedures

When instantiating generic package that includes a formal subprogram
declaration with Ghost aspect and a subprogram_default of null, e.g.:

   generic
     with procedure Proc is null with Ghost;
   package P is ...

the Ghost aspect should be propagated to the internally generated null
subprogram, so this null subprogram can be used in contexts that require
ghost entities.

gcc/ada/

* sem_ch12.adb (Instantiate_Formal_Subprogram): Copy aspect Ghost
from formal subprogram declaration to the internally generated
procedure.

2 years agoada: Implement RM 4.5.7(10/3) name resolution rule
Eric Botcazou [Thu, 20 Oct 2022 18:41:08 +0000 (20:41 +0200)]
ada: Implement RM 4.5.7(10/3) name resolution rule

This rule deals with the specific case of a conditional expression that is
the operand of a type conversion and effectively distributes the conversion
to the dependent expressions with the help of the dynamic semantics.

gcc/ada/

* sem_ch4.adb (Analyze_Case_Expression): Compute the
interpretations of the expression only at the end of the analysis,
but skip doing it if it is the operand of a type conversion.
(Analyze_If_Expression): Likewise.
* sem_res.adb (Resolve): Deal specially with conditional
expression that is the operand of a type conversion.
(Resolve_Dependent_Expression): New procedure.
(Resolve_Case_Expression): Call Resolve_Dependent_Expression.
(Resolve_If_Expression): Likewise.
(Resolve_If_Expression.Apply_Check): Take result type as
parameter.
(Resolve_Type_Conversion): Do not warn about a redundant
conversion when the operand is a conditional expression.

2 years agoada: Enforce matching of extra formals
Javier Miranda [Sun, 16 Oct 2022 19:48:53 +0000 (19:48 +0000)]
ada: Enforce matching of extra formals

This patch enforces matching of extra formals in overridden subprograms,
subprogram renamings, and subprograms to which attributes 'Access,
'Unchecked_Access, or 'Unrestricted_Access is applied (for these access
cases the subprogram is checked against its corresponding subprogram
type). This enforcement is an internal consistency check, not an
implementation of some language legality rule.

gcc/ada/

* debug.adb
(Debug_Flag_Underscore_XX): Switch -gnatd_X used temporarily to allow
disabling extra formal checks.
* exp_attr.adb
(Expand_N_Attribute_Reference [access types]): Add extra formals
to the subprogram referenced in the prefix of 'Unchecked_Access,
'Unrestricted_Access or 'Access; required to check that its extra
formals match the extra formals of the corresponding subprogram type.
* exp_ch3.adb
(Stream_Operation_OK): Declaration moved to the public part of the
package.
(Validate_Tagged_Type_Extra_Formals): New subprogram.
(Expand_Freeze_Record_Type): Improve the code that takes care of
adding the extra formals of dispatching primitives; extended to
add also the extra formals to renamings of dispatching primitives.
* exp_ch3.ads
(Stream_Operation_OK): Declaration moved from the package body.
* exp_ch6.adb
(Check_BIP_Actuals): Complete documentation.
(Has_BIP_Extra_Formal): Subprogram declaration moved to the public
part of the package. In addition, a parameter has been added to
disable an assertion that requires its use with frozen entities.
(Duplicate_Params_Without_Extra_Actuals): New subprogram.
(Check_Subprogram_Variant): Emit the call without duplicating the
extra formals since they will be added when the call is analyzed.
(Expand_Call_Helper): Ensure that the called subprogram has all its
extra formals, enforce assertion checking extra formals on thunks,
and mark calls from thunks as processed-BIP-calls to avoid adding
their extra formals twice.
(Is_Build_In_Place_Function): Return False for entities with foreign
convention.
(Is_Build_In_Place_Function_Call): Return True also for not BIP functions
that have BIP formals since the extra actuals are required.
(Make_Build_In_Place_Call_In_Object_Declaration): Occurrences of
Is_Return_Object replaced by the local variable Is_OK_Return_Object
that evaluates to False for scopes with foreign convention.
(Might_Have_Tasks): Fix check of class-wide limited record types.
(Needs_BIP_Task_Actuals): Remove assertion to allow calling this
function in more contexts; in addition it returns False for functions
returning objects with foreign convention.
(Needs_BIP_Finalization_Master): Likewise.
(Needs_BIP_Alloc_Form): Likewise.
(Validate_Subprogram_Calls): Check that the number of actuals (including
extra actuals) of calls in the subtree N match their corresponding
formals.
* exp_ch6.ads
(Has_BIP_Extra_Formal): Subprogram declaration moved to the public
part of the package. In addition, a parameter has been added to
disable an assertion that requires its use with frozen entities.
(Is_Build_In_Place_Function_Call): Complete documentation.
(Validate_Subprogram_Calls): Check that the number of actuals (including
extra actuals) of calls in the subtree N match their corresponding
formals.
* freeze.adb
(Check_Itype): Add extra formals to anonymous access subprogram itypes.
(Freeze_Expression): Improve code that disables the addition of extra
formals to functions with foreign convention.
(Check_Extra_Formals): Moved to package Sem_Ch6 as Extra_Formals_OK.
(Freeze_Subprogram): Add extra formals to non-dispatching subprograms.
* frontend.adb
(Frontend): Validate all the subprogram calls; it can be disabled using
switch -gnatd_X
* sem_ch3.adb
(Access_Subprogram_Declaration): Defer the addition of extra formals to
the freezing point so that we know the convention.
(Check_Anonymous_Access_Component): Likewise.
(Derive_Subprogram): Fix documentation.
* sem_ch6.adb
(Has_Reliable_Extra_Formals): New subprogram.
(Check_Anonymous_Return): Fix check of access to class-wide limited
record types.
(Check_Untagged_Equality): Placed in alphabetical order.
(Extra_Formals_OK): Subprogram moved from freeze.adb.
(Extra_Formals_Match_OK): New subprogram.
(Has_BIP_Formals): New subprogram.
(Has_Extra_Formals): New subprograms.
(Needs_Accessibility_Check_Extra): New subprogram.
(Parent_Subprogram): New subprogram.
(Add_Extra_Formal): Minor code cleanup.
(Create_Extra_Formals): Enforce matching extra formals on overridden
and aliased entities.
* sem_ch6.ads
(Extra_Formals_Match_OK): New subprogram.
(Extra_Formals_OK): Subprogram moved from freeze.adb.
* sem_eval.adb
(Compile_Time_Known_Value): Improve predicate to avoid assertion
failure; found working on this ticket; this change does not
affect the behavior of the compiler because this subprogram
has an exception handler that returns False when the assertion
fails.
* sem_util.adb
(Needs_Result_Accessibility_Level): Do not return False for dispatching
operations compiled with Ada_Version < 2012 since they they may be
overridden by primitives compiled with Ada_Version >= Ada_2012.

2 years agoada: Move warnings switches -- initial work
Bob Duff [Fri, 21 Oct 2022 15:09:49 +0000 (11:09 -0400)]
ada: Move warnings switches -- initial work

This patch prepares to move warning switches from Opt into Warnsw.

gcc/ada/

* warnsw.ads, warnsw.adb, fe.h, err_vars.ads, errout.ads: Move
Warning_Doc_Switch from Err_Vars to Warnsw. Access
Warn_On_Questionable_Layout on the C side via a function rather
than a variable, because we plan to turn the variables into
renamings, and you can't Export renamings.
* erroutc.adb, switch-c.adb, errout.adb: Likewise.
* gcc-interface/decl.cc: Use Get_Warn_On_Questionable_Layout
instead of Warn_On_Questionable_Layout.
* gcc-interface/Makefile.in (GNATMAKE_OBJS): Add warnsw.o, because
it is indirectly imported via Errout.
* gcc-interface/Make-lang.in (GNATBIND_OBJS): Likewise and remove
restrict.o (not needed).

2 years agoada: Align -gnatwc's documentation with its behavior
Ronan Desplanques [Fri, 14 Oct 2022 14:28:58 +0000 (16:28 +0200)]
ada: Align -gnatwc's documentation with its behavior

Shortly after the -gnatwc flag was introduced, its behavior was
tweaked, but its documentation was not updated accordingly.

gcc/ada/

* doc/gnat_ugn/building_executable_programs_with_gnat.rst
(-gnatwc): Fix flag documentation.
* gnat_ugn.texi: Regenerate.

2 years agoada: Improve handling of declare expressions in deferred-freezing contexts
Steve Baird [Wed, 19 Oct 2022 19:42:55 +0000 (12:42 -0700)]
ada: Improve handling of declare expressions in deferred-freezing contexts

In some cases where a declare expression occurs in a deferred-freezing
context (e.g., within the default value for a discriminant or for a formal
parameter, or within the expression of an expression function), the compiler
generates a bugbox.

gcc/ada/

* sem_ch3.adb
(Analyze_Object_Declaration): Do not perform expansion actions if
In_Spec_Expression is true.

2 years agoada: Minor consistency tweaks in Sem_Ch4
Eric Botcazou [Thu, 20 Oct 2022 09:05:16 +0000 (11:05 +0200)]
ada: Minor consistency tweaks in Sem_Ch4

This ensures that, during the analysis of the qualified expressions, type
conversions and unchecked type conversions, the determination of the type
of the node and the analysis of its expression are done in the same order.

No functional changes.

gcc/ada/

* sem_ch4.adb (Analyze_Qualified_Expression): Analyze the
expression only after setting the type.
(Analyze_Unchecked_Type_Conversion): Likewise.
(Analyze_Short_Circuit): Likewise for the operands.
(Analyze_Type_Conversion): Minor tweaks.
(Analyze_Unchecked_Expression): Likewise.

2 years agoada: Remove redundant line in Analyze_Qualified_Expression
Eric Botcazou [Wed, 19 Oct 2022 10:39:42 +0000 (12:39 +0200)]
ada: Remove redundant line in Analyze_Qualified_Expression

The same statement is present a few lines above.

gcc/ada/

* sem_ch4.adb (Analyze_Qualified_Expression): Remove redundant
line.

2 years agoada: Preanalyze classwide contracts as spec expressions
Ronan Desplanques [Mon, 17 Oct 2022 10:00:09 +0000 (12:00 +0200)]
ada: Preanalyze classwide contracts as spec expressions

Classwide contracts are "spec expressions" as defined in the
documentation in sem.ads. Before this patch, the instances of
classwide contracts that are destined to class conditions merging
were not preanalyzed as spec expressions. That caused preanalysis to
emit spurious errors in some cases.

gcc/ada/

* contracts.adb (Preanalyze_Condition): Use
Preanalyze_Spec_Expression.

2 years agoada: Fix expansion of 'Wide_Image and 'Wide_Wide_Image on composite types
Piotr Trojanek [Thu, 17 Jun 2021 17:44:40 +0000 (19:44 +0200)]
ada: Fix expansion of 'Wide_Image and 'Wide_Wide_Image on composite types

Attributes Wide_Image and Wide_Wide_Image applied to composite types are
now expanded just like attribute Image.

gcc/ada/

* exp_imgv.adb
(Expand_Wide_Image_Attribute): Handle just like attribute Image.
(Expand_Wide_Wide_Image_Attribute): Likewise.
* exp_put_image.adb
(Build_Image_Call): Adapt to also work for Wide and Wide_Wide
attributes.
* exp_put_image.ads
(Build_Image_Call): Update comment.
* rtsfind.ads
(RE_Id): Support wide variants of Get.
(RE_Unit_Table): Likewise.

2 years agoada: Fix inconsistent whitespace in Ada.Numerics.Generic_Complex_Arrays
Piotr Trojanek [Wed, 7 Sep 2022 19:36:04 +0000 (21:36 +0200)]
ada: Fix inconsistent whitespace in Ada.Numerics.Generic_Complex_Arrays

Cleanup only.

gcc/ada/

* libgnat/a-ngcoar.ads, libgnat/a-ngcoar.adb: Remove extra spaces.

2 years agoada: Remove unneeded code in handling formal type defaults
Piotr Trojanek [Tue, 6 Sep 2022 21:20:47 +0000 (23:20 +0200)]
ada: Remove unneeded code in handling formal type defaults

Unneeded code found while experimenting with improved detection of
unreferenced objects.

gcc/ada/

* sem_ch12.adb (Validate_Formal_Type_Default): Remove call to
Collect_Interfaces, which had no effect apart from populating a
list that was not used; fix style.

2 years agoada: Cleanup local variable that is only set as an out parameter
Piotr Trojanek [Tue, 6 Sep 2022 21:28:26 +0000 (23:28 +0200)]
ada: Cleanup local variable that is only set as an out parameter

Minor improvements; found experimenting with improved detection of
unreferenced objects.

gcc/ada/

* exp_spark.adb (SPARK_Freeze_Type): Refine type of a local
object.
* sem_ch3.adb (Derive_Subprograms): Remove initial value for
New_Subp, which is in only written as an out parameter and never
read.

2 years agoada: Remove obsolete code in Resolve_If_Expression
Eric Botcazou [Tue, 18 Oct 2022 22:04:31 +0000 (00:04 +0200)]
ada: Remove obsolete code in Resolve_If_Expression

gcc/ada/

* sem_res.adb (Resolve_If_Expression): Remove obsolete special
case.