platform/upstream/gcc.git
20 months agoDaily bump.
GCC Administrator [Sat, 12 Nov 2022 00:17:25 +0000 (00:17 +0000)]
Daily bump.

20 months agolibstdc++: Fix <experimental/filesystem> for Windows [PR95048]
Jonathan Wakely [Fri, 11 Nov 2022 22:25:14 +0000 (22:25 +0000)]
libstdc++: Fix <experimental/filesystem> for Windows [PR95048]

I meant to include this change in r13-3909-gb331bf303bdc1e but I forgot
to sync it from the machine where I did the mingw testing to the one
where I pushed the commit.

libstdc++-v3/ChangeLog:

PR libstdc++/95048
* include/experimental/bits/fs_path.h (path::_Cvt::_S_wconvert):
Construct codecvt directly instead of getting it from the
locale.

20 months agoanalyzer: more state machine documentation
David Malcolm [Fri, 11 Nov 2022 21:52:13 +0000 (16:52 -0500)]
analyzer: more state machine documentation

gcc/analyzer/ChangeLog:
* sm-fd.dot: Fix typo in comment.
* sm-file.dot: New file.
* varargs.cc: Fix typo in comment.
* varargs.dot: New file.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
20 months agoanalyzer: split out checker_event classes to their own header
David Malcolm [Fri, 11 Nov 2022 21:06:32 +0000 (16:06 -0500)]
analyzer: split out checker_event classes to their own header

gcc/analyzer/ChangeLog:
* checker-path.h: Split out checker_event and its subclasses to...
* checker-event.h: ...this new header.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
20 months agoanalyzer: new warning: -Wanalyzer-infinite-recursion [PR106147]
David Malcolm [Fri, 11 Nov 2022 20:58:40 +0000 (15:58 -0500)]
analyzer: new warning: -Wanalyzer-infinite-recursion [PR106147]

This patch adds a new -Wanalyzer-infinite-recursion warning to
-fanalyzer, which complains about certain cases of infinite recursion.

Specifically, when it detects recursion during its symbolic execution
of the user's code, it compares the state of memory to that at the
previous level of recursion, and if nothing appears to have effectively
changed, it issues a warning.

Unlike the middle-end warning -Winfinite-recursion (added by Martin
Sebor in GCC 12; r12-5483-g30ba058f77eedf), the analyzer warning
complains if there exists an interprocedural path in which recursion
occurs in which memory has not changed, whereas -Winfinite-recursion
complains if *every* intraprocedural path through the function leads to
a self-call.

Hence the warnings complement each other: there's some overlap, but each
also catches issues that the other misses.

For example, the new warning complains about a guarded recursion in
which the guard is passed unchanged:

void test_guarded (int flag)
{
  if (flag)
    test_guarded (flag);
}

t.c: In function 'test_guarded':
t.c:4:5: warning: infinite recursion [CWE-674] [-Wanalyzer-infinite-recursion]
    4 |     test_guarded (flag);
      |     ^~~~~~~~~~~~~~~~~~~
  'test_guarded': events 1-4
    |
    |    1 | void test_guarded (int flag)
    |      |      ^~~~~~~~~~~~
    |      |      |
    |      |      (1) initial entry to 'test_guarded'
    |    2 | {
    |    3 |   if (flag)
    |      |      ~
    |      |      |
    |      |      (2) following 'true' branch (when 'flag != 0')...
    |    4 |     test_guarded (flag);
    |      |     ~~~~~~~~~~~~~~~~~~~
    |      |     |
    |      |     (3) ...to here
    |      |     (4) calling 'test_guarded' from 'test_guarded'
    |
    +--> 'test_guarded': events 5-6
           |
           |    1 | void test_guarded (int flag)
           |      |      ^~~~~~~~~~~~
           |      |      |
           |      |      (5) recursive entry to 'test_guarded'; previously entered at (1)
           |      |      (6) apparently infinite recursion
           |

whereas the existing warning doesn't complain, since when "flag" is
false the function doesn't recurse.

The new warning doesn't trigger for e.g.:

  void test_param_variant (int depth)
  {
    if (depth > 0)
      test_param_variant (depth - 1);
  }

on the grounds that "depth" is changing, and appears to be a variant
that enforces termination of the recursion.

gcc/ChangeLog:
PR analyzer/106147
* Makefile.in (ANALYZER_OBJS): Add analyzer/infinite-recursion.o.

gcc/analyzer/ChangeLog:
PR analyzer/106147
* analyzer.opt (Wanalyzer-infinite-recursion): New.
* call-string.cc (call_string::count_occurrences_of_function):
New.
* call-string.h (call_string::count_occurrences_of_function): New
decl.
* checker-path.cc (function_entry_event::function_entry_event):
New ctor.
(checker_path::add_final_event): Delete.
* checker-path.h (function_entry_event::function_entry_event): New
ctor.
(function_entry_event::get_desc): Drop "final".
(checker_path::add_final_event): Delete.
* diagnostic-manager.cc
(diagnostic_manager::emit_saved_diagnostic): Create the final
event via a new pending_diagnostic::add_final_event vfunc, rather
than checker_path::add_final_event.
(diagnostic_manager::add_events_for_eedge): Create function entry
events via a new pending_diagnostic::add_function_entry_event
vfunc.
* engine.cc (exploded_graph::process_node): When creating a new
PK_BEFORE_SUPERNODE node, call
exploded_graph::detect_infinite_recursion on it after adding the
in-edge.
* exploded-graph.h (exploded_graph::detect_infinite_recursion):
New decl.
(exploded_graph::find_previous_entry_to): New decl.
* infinite-recursion.cc: New file.
* pending-diagnostic.cc
(pending_diagnostic::add_function_entry_event): New.
(pending_diagnostic::add_final_event): New.
* pending-diagnostic.h
(pending_diagnostic::add_function_entry_event): New vfunc.
(pending_diagnostic::add_final_event): New vfunc.

gcc/ChangeLog:
PR analyzer/106147
* doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
Add -Wanalyzer-infinite-recursion.
* doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst
(-Winfinite-recursion): Mention -Wanalyzer-infinite-recursion.

gcc/testsuite/ChangeLog:
PR analyzer/106147
* g++.dg/analyzer/infinite-recursion-1.C: New test.
* g++.dg/analyzer/infinite-recursion-2.C: New test, copied from
g++.dg/warn/Winfinite-recursion-2.C.
* g++.dg/analyzer/infinite-recursion-3.C: New test, adapted from
g++.dg/warn/Winfinite-recursion-3.C.
* gcc.dg/analyzer/infinite-recursion-2.c: New test.
* gcc.dg/analyzer/infinite-recursion-3.c: New test.
* gcc.dg/analyzer/infinite-recursion-4-limited-buggy.c: New test.
* gcc.dg/analyzer/infinite-recursion-4-limited.c: New test.
* gcc.dg/analyzer/infinite-recursion-4-unlimited-buggy.c: New test.
* gcc.dg/analyzer/infinite-recursion-4-unlimited.c: New test.
* gcc.dg/analyzer/infinite-recursion-5.c: New test, adapted from
gcc.dg/Winfinite-recursion.c.
* gcc.dg/analyzer/infinite-recursion-alloca.c: New test.
* gcc.dg/analyzer/infinite-recursion-inlining.c: New test.
* gcc.dg/analyzer/infinite-recursion-multiline-1.c: New test.
* gcc.dg/analyzer/infinite-recursion-multiline-2.c: New test.
* gcc.dg/analyzer/infinite-recursion-variadic.c: New test.
* gcc.dg/analyzer/infinite-recursion.c: Add dg-warning directives
where infinite recursions occur.
* gcc.dg/analyzer/malloc-ipa-12.c: Likewise.
* gcc.dg/analyzer/pr105365.c: Likewise.
* gcc.dg/analyzer/pr105366.c: Likewise.
* gcc.dg/analyzer/pr97029.c: Likewise.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
20 months agoDon't add dependencies in update_stmt.
Andrew MacLeod [Fri, 11 Nov 2022 17:22:33 +0000 (12:22 -0500)]
Don't add dependencies in update_stmt.

gimple_ranger::update_stmt has no idea what the context of an update
is, and should not be adding relations when it re-evaluates a stmt.

PR tree-optimization/107523
gcc/
* gimple-range.cc (gimple_ranger::update_stmt): Use fur_stmt
rather than fur_depend.

gcc/testsuite/
* gcc.dg/pr107523.c: New.

20 months agolibstdc++: Set active union member in constexpr std::string [PR103295]
Nathaniel Shead [Fri, 11 Nov 2022 11:23:31 +0000 (22:23 +1100)]
libstdc++: Set active union member in constexpr std::string [PR103295]

Clang still complains about using std::string in constexpr contexts due
to the changes made in commit 98a0d72a. This patch ensures that we set
the active member of the union as according to [class.union.general] p6.

libstdc++-v3/ChangeLog:

PR libstdc++/103295
* include/bits/basic_string.h (_M_use_local_data): Set active
member to _M_local_buf.

Signed-off-by: Nathaniel Shead <nathanieloshead@gmail.com>
20 months agolibstdc++: Fix wstring conversions in filesystem::path [PR95048]
Jonathan Wakely [Fri, 11 Nov 2022 15:22:02 +0000 (15:22 +0000)]
libstdc++: Fix wstring conversions in filesystem::path [PR95048]

In commit r9-7381-g91756c4abc1757 I changed filesystem::path to use
std::codecvt<CharT, char, mbstate_t> for conversions from all wide
strings to UTF-8, instead of using std::codecvt_utf8<CharT>. This was
done because for 16-bit wchar_t, std::codecvt_utf8<wchar_t> only
supports UCS-2 and not UTF-16. The rationale for the change was sound,
but the actual fix was not. It's OK to use std::codecvt for char16_t or
char32_t, because the specializations for those types always use UTF-8 ,
but std::codecvt<wchar_t, char, mbstate_t> uses the current locale's
encodings, and the narrow encoding is probably ASCII and can't support
non-ASCII characters.

The correct fix is to use std::codecvt only for char16_t and char32_t.
For 32-bit wchar_t we could have continued using std::codecvt_utf8
because that uses UTF-32 which is fine, switching to std::codecvt broke
non-Windows targets with 32-bit wchar_t. For 16-bit wchar_t we did need
to change, but should have changed to std::codecvt_utf8_utf16<wchar_t>
instead, as that always uses UTF-16 not UCS-2. I actually noted that in
the commit message for r9-7381-g91756c4abc1757 but didn't use that
option. Oops.

This replaces the unconditional std::codecvt<CharT, char, mbstate_t>
with a type defined via template specialization, so it can vary
depending on the wide character type. The code is also simplified to
remove some of the mess of #ifdef and if-constexpr conditions.

libstdc++-v3/ChangeLog:

PR libstdc++/95048
* include/bits/fs_path.h (path::_Codecvt): New class template
that selects the kind of code conversion done.
(path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
(_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
be used for Windows and POSIX.
(path::_S_convert(const EcharT*, const EcharT*)): Simplify by
using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
(path::_S_str_convert(basic_string_view<value_type>, const A&)):
Simplify nested conditions.
* include/experimental/bits/fs_path.h (path::_Cvt): Define
nested typedef controlling type of code conversion done.
(path::_Cvt::_S_wconvert): Use new typedef.
(path::string(const A&)): Likewise.
* testsuite/27_io/filesystem/path/construct/95048.cc: New test.
* testsuite/experimental/filesystem/path/construct/95048.cc: New
test.

20 months agoprocess transitive inferred ranges in pre_fold_stmt.
Andrew MacLeod [Wed, 9 Nov 2022 15:58:15 +0000 (10:58 -0500)]
process transitive inferred ranges in pre_fold_stmt.

The subst_and_fold engine can perform some folding activity before
calling fold_stmt, so do this work in pre_fold_stmt instead.

* tree-vrp.cc (rvrp_folder::rvrp_folder): Init m_last_bb_stmt.
(rvrp_folder::pre_fold_bb): Set m_last_bb_stmt.
(rvrp_folder::pre_fold_stmt): Check for transitive inferred ranges.
(rvrp_folder::fold_stmt): Check in pre_fold_stmt instead.

20 months agoaarch64: Add support for Cortex-X1C CPU.
Srinath Parvathaneni [Fri, 11 Nov 2022 14:47:10 +0000 (14:47 +0000)]
aarch64: Add support for Cortex-X1C CPU.

This patch adds support for Cortex-X1C CPU.

Regards,
Srinath.

gcc/ChangeLog:

2022-11-09  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-X1C
CPU.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
Document Cortex-X1C CPU.

20 months agoaarch64: Add support for Cortex-A715 CPU.
Srinath Parvathaneni [Fri, 11 Nov 2022 14:45:41 +0000 (14:45 +0000)]
aarch64: Add support for Cortex-A715 CPU.

This patch adds support for Cortex-A715 CPU.

Regards,
Srinath.

gcc/ChangeLog:

2022-11-09  Srinath Parvathaneni  <srinath.parvathaneni@arm.com>

* config/aarch64/aarch64-cores.def (AARCH64_CORE): Add Cortex-A715
CPU.
* config/aarch64/aarch64-tune.md: Regenerate.
* doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
Document Cortex-A715 CPU.

20 months agotree-optimization/107554 - fix ICE in stlen optimization
Richard Biener [Fri, 11 Nov 2022 13:28:52 +0000 (14:28 +0100)]
tree-optimization/107554 - fix ICE in stlen optimization

The following fixes a wrongly typed variable causing an ICE.

PR tree-optimization/107554
* tree-ssa-strlen.cc (strlen_pass::count_nonzero_bytes):
Use unsigned HOST_WIDE_INT type for the strlen.

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

Co-Authored-By: Nikita Voronov <nik_1357@mail.ru>
20 months agotree-optimization/105142 - improve maybe_fold_comparisons_from_match_pd fix
Richard Biener [Tue, 26 Jul 2022 09:52:49 +0000 (11:52 +0200)]
tree-optimization/105142 - improve maybe_fold_comparisons_from_match_pd fix

The following improves on the fix for PR105142 which restricted the
expression lookup used for maybe_fold_comparisons_from_match_pd to
avoid picking up flow-sensitive info for use in places where guarding
conditions do not hold.  Instead of not allowing to expand SSA
definitions there the following temporarily clears flow-sensitive
info on the SSA names and restores it when finished matching.

PR tree-optimization/105142
* gimple-fold.cc (fosa_unwind): New global.
(follow_outer_ssa_edges): When the SSA definition to follow
is does not dominate fosa_bb, temporarily clear flow-sensitive
info.  Make sure to not expand stmts with not defined overflow.
(maybe_fold_comparisons_from_match_pd): Set up unwind stack
for follow_outer_ssa_edges and unwind flow-sensitive info
clearing after matching.

20 months ago[range-ops] Remove specialized fold_range methods for various operators.
Aldy Hernandez [Thu, 10 Nov 2022 10:27:52 +0000 (11:27 +0100)]
[range-ops] Remove specialized fold_range methods for various operators.

Remove some specialized fold_range methods that were merely setting
maybe nonzero masks, as these are now subsumed by the generic version.

gcc/ChangeLog:

* range-op.cc (operator_mult::fold_range): Remove.
(operator_div::fold_range): Remove.
(operator_bitwise_and): Remove.

20 months ago[range-ops] Avoid unnecessary intersection in update_known_bitmask.
Aldy Hernandez [Fri, 11 Nov 2022 09:11:03 +0000 (10:11 +0100)]
[range-ops] Avoid unnecessary intersection in update_known_bitmask.

All the work for keeping the maybe nonzero masks up to date is being
done by the bit-CCP code now.  Any bitmask inherent in the range that
range-ops may have calculated has no extra information, so the
intersection is unnecessary.

gcc/ChangeLog:

* range-op.cc (update_known_bitmask): Avoid unnecessary intersection.

20 months ago[range-ops] Update known bitmasks using CCP for all operators.
Aldy Hernandez [Thu, 10 Nov 2022 10:24:48 +0000 (11:24 +0100)]
[range-ops] Update known bitmasks using CCP for all operators.

Use bit-CCP to calculate bitmasks for all integer operators, instead
of the half-assed job we were doing with just a handful of operators.

This sets us up nicely for tracking known-one bitmasks in the next
release, as all we'll have to do is just store them in the irange.

All in all, this series of patches incur a 1.9% penalty to VRP, with
no measurable difference in overall compile time.  The reason is
three-fold:

(a) There's double dispatch going on.  First, the dispatch for the
range-ops virtuals, and now the switch in bit_value_binop.

(b) The maybe nonzero mask is stored as a tree and there is an endless
back and forth with wide-ints.  This will be a non-issue next release,
when we convert irange to wide-ints.

(c) New functionality has a cost.  We were handling 2 cases (plus
casts).  Now we handle 20.

I can play around with moving the bit_value_binop cases into inlined
methods in the different range-op entries, and see if that improves
anything, but I doubt (a) buys us that much.  Certainly something that
can be done in stage3 if it's measurable in any significant way.

p.s It would be nice in the future to teach the op[12]_range methods about
the masks.

gcc/ChangeLog:

* range-op.cc (range_operator::fold_range): Call
update_known_bitmask.
(operator_bitwise_and::fold_range): Avoid setting nonzero bits
when range is undefined.

20 months ago[range-ops] Use existing tree code for *DIV_EXPR entries.
Aldy Hernandez [Thu, 10 Nov 2022 10:36:46 +0000 (11:36 +0100)]
[range-ops] Use existing tree code for *DIV_EXPR entries.

There is no need for a special tree code in the *DIV_EXPR entries, as
the parent class has one.

gcc/ChangeLog:

* range-op.cc (class operator_div): Remove tree code.
(operator_div::wi_op_overflows): Handle EXACT_DIV_EXPR as
TRUNC_DIV_EXPR.

20 months ago[range-ops] Add tree code to range_operator.
Aldy Hernandez [Thu, 10 Nov 2022 10:15:52 +0000 (11:15 +0100)]
[range-ops] Add tree code to range_operator.

This patch adds a tree code to range_operator in order to known which
tree code to pass into bit-CCP.

Up to now range-ops has been free of tree details, with the exception
of the div entries which use a tree code to differentiate between
them.  This is still the goal going forward, but this is a stop-gap
until we can merge the CCP and range-op bit handling in the next
release.

No change in performance.

gcc/ChangeLog:

* range-op.cc: (range_op_table::set): Set m_code.
(integral_table::integral_table): Handle shared entries.
(pointer_table::pointer_table): Same.
* range-op.h (class range_operator): Add m_code.

20 months agotree-optimization/107618 - enhance copy propagation of constants
Richard Biener [Fri, 11 Nov 2022 09:12:28 +0000 (10:12 +0100)]
tree-optimization/107618 - enhance copy propagation of constants

The following enhances copy propagation of constants to also see
through simple operations like conversions but also operations with
otherwise constant operands.  That's required to fulfill the promise

      /* Copy propagation also copy-propagates constants, this is necessary
         to forward object-size and builtin folding results properly.  */
      NEXT_PASS (pass_copy_prop);

and avoid false diagnostics as shown in the testcase.  We're
using gimple_fold_stmt_to_constant_1 with not following SSA edges
and accordingly adjust what stmts we simulate during SSA propagation.

PR tree-optimization/107618
* tree-ssa-copy.cc (stmt_may_generate_copy): Simulate all
assignments with a single SSA use.
(copy_prop_visit_assignment): Use gimple_fold_stmt_to_constant_1
to perform simple constant folding.
(copy_prop::visit_stmt): Visit all assignments.

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

20 months agoMake last DCE remove empty loops
Richard Biener [Thu, 10 Nov 2022 14:04:10 +0000 (15:04 +0100)]
Make last DCE remove empty loops

The following makes the last DCE pass CD-DCE and in turn the
last CD-DCE pass a DCE one.  That ensues we remove empty loops
that become empty between the two.  I've also moved the tail-call
pass after DCE since DCE can only improve things here.

The two testcases were the only ones scanning cddce3 so I've
changed them to scan the dce7 pass that's now in this place.
The testcases scanning dce7 also work when that's in the earlier
position.

PR tree-optimization/84646
* tree-ssa-dce.cc (pass_dce::set_pass_param): Add param
wheter to run update-address-taken.
(pass_dce::execute): Honor it.
* passes.def: Exchange last DCE and CD-DCE invocations.
Swap pass_tail_calls and the last DCE.

* g++.dg/tree-ssa/pr106922.C: Continue to scan earlier DCE dump.
* gcc.dg/tree-ssa/20030808-1.c: Likewise.

20 months agojit: doc: Use shared Indices and tables
Martin Liska [Fri, 11 Nov 2022 13:25:46 +0000 (14:25 +0100)]
jit: doc: Use shared Indices and tables

Apart from that, do not use leading .rst names in toctree.

ChangeLog:

* doc/indices-and-tables.rst: Rename Indexes to Indices.

gcc/jit/ChangeLog:

* doc/cp/index.rst: Remove trailing .rst in toctree.
* doc/cp/intro/index.rst: Likewise.
* doc/cp/topics/index.rst: Likewise.
* doc/index.rst: Likewise.
* doc/intro/index.rst: Likewise.
* doc/topics/index.rst: Likewise.
* doc/indices-and-tables.rst: New file.

20 months agodoc: update sphinx-build -j auto comment
Martin Liska [Fri, 11 Nov 2022 12:37:14 +0000 (13:37 +0100)]
doc: update sphinx-build -j auto comment

ChangeLog:

* doc/Makefile: Update comment.

20 months agosphinx: stop using parallel mode
Martin Liska [Fri, 11 Nov 2022 12:32:01 +0000 (13:32 +0100)]
sphinx: stop using parallel mode

Noticed that the documentation build can stuck on a machine with
many cores (160) and I identified a real sphinx problem:
https://github.com/sphinx-doc/sphinx/issues/10969

Note the parallel can help just for some manuals and it is not critical
for us.

ChangeLog:

* doc/Makefile: Disable -j auto.

20 months agochangelog: check for space after tab
Martin Liska [Wed, 9 Nov 2022 13:40:34 +0000 (14:40 +0100)]
changelog: check for space after tab

contrib/ChangeLog:

* gcc-changelog/git_commit.py: Check for a space after leading
tab.
* gcc-changelog/test_email.py: Likewise.
* gcc-changelog/test_patches.txt: Likewise.

20 months agoRISC-V: Add RVV registers register spilling
Ju-Zhe Zhong [Sun, 6 Nov 2022 08:56:33 +0000 (16:56 +0800)]
RISC-V: Add RVV registers register spilling

This patch support RVV scalable register spilling.
prologue && epilogue handling pick up prototype from Monk Chiang <monk.chiang@sifive.com>.
Co-authored-by: Monk Chiang <monk.chiang@sifive.com>
gcc/ChangeLog:

* config/riscv/riscv-v.cc (emit_pred_move): Adjust for scalable register spilling.
(legitimize_move): Ditto.
* config/riscv/riscv.cc (riscv_v_adjust_scalable_frame): New function.
(riscv_first_stack_step): Adjust for scalable register spilling.
(riscv_expand_prologue): Ditto.
(riscv_expand_epilogue): Ditto.
(riscv_dwarf_poly_indeterminate_value): New function.
(TARGET_DWARF_POLY_INDETERMINATE_VALUE): New target hook support for register spilling.
* config/riscv/riscv.h (RISCV_DWARF_VLENB): New macro.
(RISCV_PROLOGUE_TEMP2_REGNUM): Ditto.
(RISCV_PROLOGUE_TEMP2): Ditto.
* config/riscv/vector-iterators.md: New iterators.
* config/riscv/vector.md (*mov<mode>): Fix it for register spilling.
(*mov<mode>_whole): New pattern.
(*mov<mode>_fract): New pattern.
(@pred_mov<mode>): Fix it for register spilling.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/base/macro.h: New test.
* gcc.target/riscv/rvv/base/spill-1.c: New test.
* gcc.target/riscv/rvv/base/spill-10.c: New test.
* gcc.target/riscv/rvv/base/spill-11.c: New test.
* gcc.target/riscv/rvv/base/spill-12.c: New test.
* gcc.target/riscv/rvv/base/spill-2.c: New test.
* gcc.target/riscv/rvv/base/spill-3.c: New test.
* gcc.target/riscv/rvv/base/spill-4.c: New test.
* gcc.target/riscv/rvv/base/spill-5.c: New test.
* gcc.target/riscv/rvv/base/spill-6.c: New test.
* gcc.target/riscv/rvv/base/spill-7.c: New test.
* gcc.target/riscv/rvv/base/spill-8.c: New test.
* gcc.target/riscv/rvv/base/spill-9.c: New test.

20 months agolibstdc++: Fix tests with non-const operator==
Jonathan Wakely [Thu, 10 Nov 2022 14:11:27 +0000 (14:11 +0000)]
libstdc++: Fix tests with non-const operator==

These tests fail in strict -std=c++20 mode but their equality ops don't
need to be non-const, it looks like an accident.

This fixes two FAILs with -std=c++20:
FAIL: 20_util/tuple/swap.cc (test for excess errors)
FAIL: 26_numerics/valarray/87641.cc (test for excess errors)

libstdc++-v3/ChangeLog:

* testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
const qualifier.
* testsuite/26_numerics/valarray/87641.cc (X::operator==):
Likewise.

20 months agolibstdc++: Add missing definition for <charconv> in C++14 mode
Jonathan Wakely [Thu, 10 Nov 2022 14:08:49 +0000 (14:08 +0000)]
libstdc++: Add missing definition for <charconv> in C++14 mode

We support <charconv> in C++14 as an extension, but that means that
constexpr static data members are not implicitly inline. Add an
out-of-class definition for C++14 mode.

This fixes a FAIL when -std=gnu++14 is used:
FAIL: 20_util/from_chars/1.cc (test for excess errors)

libstdc++-v3/ChangeLog:

* include/std/charconv (__from_chars_alnum_to_val_table::value):
[!__cpp_inline_variables]: Add non-inline definition.

20 months agolibstdc++: Fix test that uses C++17 variable template in C++14
Jonathan Wakely [Thu, 10 Nov 2022 14:04:07 +0000 (14:04 +0000)]
libstdc++: Fix test that uses C++17 variable template in C++14

This test fails if run with -std=gnu++14 because it should be using
is_convertible instead of is_convertible_v.

libstdc++-v3/ChangeLog:

* testsuite/experimental/propagate_const/observers/107525.cc:
Use type trait instead of C++17 variable template.

20 months agolibstdc++: Avoid redundant checks in std::use_facet [PR103755]
Jonathan Wakely [Wed, 9 Nov 2022 21:44:31 +0000 (21:44 +0000)]
libstdc++: Avoid redundant checks in std::use_facet [PR103755]

We do not need to do bounds checks or a runtime dynamic_cast when using
std::has_facet and std::use_facet to access the default facets that are
guaranteed to be present in every std::locale object. We can just index
straight into the array and use a static_cast for the conversion.

This patch adds a new std::__try_use_facet function that is like
std::use_facet but returns a pointer, so can be used to implement both
std::has_facet and std::use_facet. We can then do the necessary
metaprogramming to skip the redundant checks in std::__try_use_facet.

To avoid having to export (or hide) instantiations of the new function
from libstdc++.so the instantiations are given hidden visibility. This
allows them to be used in the library, but user code will instantiate it
again using the definition in the header. That would happen anyway,
because there are no explicit instantiation declarations for any of
std::has_facet, std::use_facet, or the new std::__try_use_facet.

libstdc++-v3/ChangeLog:

PR libstdc++/103755
* config/abi/pre/gnu.ver: Tighten patterns for facets in the
base version. Add exports for __try_use_facet.
* include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
__try_use_facet instead of has_facet and use_facet.
* include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
Likewise.
(basic_filebuf::imbue): Likewise.
* include/bits/locale_classes.h (locale, locale::id)
(locale::_Impl): Declare __try_use_facet as a friend.
* include/bits/locale_classes.tcc (__try_use_facet): Define new
function template with special cases for default facets.
(has_facet, use_facet): Call __try_use_facet.
* include/bits/locale_facets.tcc (__try_use_facet): Declare
explicit instantiations.
* include/bits/locale_facets_nonio.tcc (__try_use_facet):
Likewise.
* src/c++11/locale-inst-monetary.h (INSTANTIATE_FACET_ACCESSORS):
Use new macro for facet accessor instantiations.
* src/c++11/locale-inst-numeric.h (INSTANTIATE_FACET_ACCESSORS):
Likewise.
* src/c++11/locale-inst.cc (INSTANTIATE_USE_FACET): Define new
macro for instantiating __try_use_facet and use_facet.
(INSTANTIATE_FACET_ACCESSORS): Define new macro for also
defining has_facet.
* src/c++98/compatibility-ldbl.cc (__try_use_facet):
Instantiate.
* testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust
expected errors.

20 months agoc-family: Support #pragma region/endregion [PR85487]
Jonathan Wakely [Wed, 9 Nov 2022 21:49:52 +0000 (21:49 +0000)]
c-family: Support #pragma region/endregion [PR85487]

These pragmas are used by some editors to mark regions of code for
grouping and folding. GCC should silently ignore them, rather than
giving -Wunknown-pragmas warnings.

PR c/85487

gcc/ChangeLog:

* doc/cpp/pragmas.rst (Pragmas): Document region pragmas.

gcc/c-family/ChangeLog:

* c-pragma.cc (handle_pragma_ignore): New function.
(init_pragma): Register region and endregion pragmas.

gcc/testsuite/ChangeLog:

* c-c++-common/pragma-region.c: New test.

20 months agoi386: Add ISA check for newly introduced prefetch builtins.
Haochen Jiang [Wed, 9 Nov 2022 06:02:31 +0000 (14:02 +0800)]
i386: Add ISA check for newly introduced prefetch builtins.

Hi all,

As Hongtao said, the fail on pentiumpro is caused by missing ISA check
since we are using emit_insn () through new builtins and it won't check
if the TARGET matches. Previously, the builtin in middle-end will check
that.

On pentiumpro, we won't have anything that supports any prefetch so that
it dropped into the pattern and then failed.

I have added the restrictions just like what middle-end builtin_prefetch
does. Also I added missing checks for PREFETCHI. Ok for trunk?

BRs,
Haochen

gcc/ChangeLog:

* config/i386/i386-builtin.def (BDESC): Add
OPTION_MASK_ISA2_PREFETCHI for prefetchi builtin.
* config/i386/i386-expand.cc (ix86_expand_builtin):
Add ISA check before emit_insn.
* config/i386/prfchiintrin.h: Add target for intrin.

gcc/testsuite/ChangeLog:

* gcc.target/i386/prefetchi-5.c: New test.

20 months agoDaily bump.
GCC Administrator [Fri, 11 Nov 2022 00:17:22 +0000 (00:17 +0000)]
Daily bump.

20 months agoanalyzer: new warning: -Wanalyzer-deref-before-check [PR99671]
David Malcolm [Thu, 10 Nov 2022 18:23:56 +0000 (13:23 -0500)]
analyzer: new warning: -Wanalyzer-deref-before-check [PR99671]

This patch implements a new -Wanalyzer-deref-before-check within
-fanalyzer.  It complains about code paths in which a pointer is checked
for NULL after it has already been dereferenced.

For example, for the testcase in PR 77432 the diagnostic emits:
deref-before-check-1.c: In function 'test_from_pr77432':
deref-before-check-1.c:6:8: warning: check of 'a' for NULL after already dereferencing it [-Wanalyzer-deref-before-check]
    6 |     if (a)
      |        ^
  'test_from_pr77432': events 1-2
    |
    |    5 |     int b = *a;
    |      |         ^
    |      |         |
    |      |         (1) pointer 'a' is dereferenced here
    |    6 |     if (a)
    |      |        ~
    |      |        |
    |      |        (2) pointer 'a' is checked for NULL here but it was already dereferenced at (1)
    |

and in PR 77425 we had an instance of this hidden behind a
macro, which the diagnostic complains about as follows:

deref-before-check-pr77425.c: In function 'get_odr_type':
deref-before-check-pr77425.c:35:10: warning: check of 'odr_types_ptr' for NULL after already dereferencing it [-Wanalyzer-deref-before-check]
   35 |       if (odr_types_ptr)
      |          ^
  'get_odr_type': events 1-3
    |
    |   27 |   if (cond)
    |      |      ^
    |      |      |
    |      |      (1) following 'false' branch...
    |......
    |   31 |   else if (other_cond)
    |      |           ~~~~~~~~~~~
    |      |           ||
    |      |           |(2) ...to here
    |      |           (3) following 'true' branch...
    |
  'get_odr_type': event 4
    |
    |   11 | #define odr_types (*odr_types_ptr)
    |      |                   ~^~~~~~~~~~~~~~~
    |      |                    |
    |      |                    (4) ...to here
deref-before-check-pr77425.c:33:7: note: in expansion of macro 'odr_types'
    |   33 |       odr_types[val->id] = 0;
    |      |       ^~~~~~~~~
    |
  'get_odr_type': event 5
    |
    |   11 | #define odr_types (*odr_types_ptr)
    |      |                   ~^~~~~~~~~~~~~~~
    |      |                    |
    |      |                    (5) pointer 'odr_types_ptr' is dereferenced here
deref-before-check-pr77425.c:33:7: note: in expansion of macro 'odr_types'
    |   33 |       odr_types[val->id] = 0;
    |      |       ^~~~~~~~~
    |
  'get_odr_type': event 6
    |
    |   35 |       if (odr_types_ptr)
    |      |          ^
    |      |          |
    |      |          (6) pointer 'odr_types_ptr' is checked for NULL here but it was already dereferenced at (5)
    |

gcc/analyzer/ChangeLog:
PR analyzer/99671
* analyzer.opt (Wanalyzer-deref-before-check): New warning.
* diagnostic-manager.cc
(null_assignment_sm_context::set_next_state): Only add state
change events for transition to "null" state.
(null_assignment_sm_context::is_transition_to_null): New.
* engine.cc (impl_region_model_context::on_pop_frame): New.
* exploded-graph.h (impl_region_model_context::on_pop_frame): New
decl.
* program-state.cc (sm_state_map::clear_any_state): New.
(sm_state_map::can_merge_with_p): New.
(program_state::can_merge_with_p): Replace requirement that
sm-states be equal in favor of an attempt to merge them.
* program-state.h (sm_state_map::clear_any_state): New decl.
(sm_state_map::can_merge_with_p): New decl.
* region-model.cc (region_model::eval_condition): Make const.
(region_model::pop_frame): Call ctxt->on_pop_frame.
* region-model.h (region_model::eval_condition): Make const.
(region_model_context::on_pop_frame): New vfunc.
(noop_region_model_context::on_pop_frame): New.
(region_model_context_decorator::on_pop_frame): New.
* sm-malloc.cc (enum resource_state): Add RS_ASSUMED_NON_NULL.
(allocation_state::dump_to_pp): Drop "final".
(struct assumed_non_null_state): New subclass.
(malloc_state_machine::m_assumed_non_null): New.
(assumed_non_null_p): New.
(class deref_before_check): New.
(assumed_non_null_state::dump_to_pp): New.
(malloc_state_machine::get_or_create_assumed_non_null_state_for_frame):
New.
(malloc_state_machine::maybe_assume_non_null): New.
(malloc_state_machine::on_stmt): Transition from start state to
"assumed-non-null" state for pointers passed to
__attribute__((nonnull)) arguments, and for pointers explicitly
dereferenced.  Call maybe_complain_about_deref_before_check for
pointers explicitly compared against NULL.
(malloc_state_machine::maybe_complain_about_deref_before_check):
New.
(malloc_state_machine::on_deallocator_call): Also transition
"assumed-non-null" states to "freed".
(malloc_state_machine::on_pop_frame): New.
(malloc_state_machine::maybe_get_merged_states_nonequal): New.
* sm-malloc.dot: Update for changes to sm-malloc.cc.
* sm.h (state_machine::on_pop_frame): New.
(state_machine::maybe_get_merged_state): New.
(state_machine::maybe_get_merged_states_nonequal): New.

gcc/ChangeLog:
* doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
Add -Wanalyzer-deref-before-check.

gcc/testsuite/ChangeLog:
* gcc.dg/analyzer/deref-before-check-1.c: New test.
* gcc.dg/analyzer/deref-before-check-2.c: New test.
* gcc.dg/analyzer/deref-before-check-pr77425.c: New test.
* gcc.dg/analyzer/malloc-1.c (test_51): New test.

gcc/ChangeLog:
PR analyzer/99671
* tristate.h (tristate::is_unknown): New.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
20 months agoc++: Extend -Wdangling-reference for std::minmax
Marek Polacek [Thu, 10 Nov 2022 00:35:26 +0000 (19:35 -0500)]
c++: Extend -Wdangling-reference for std::minmax

This patch extends -Wdangling-reference to also warn for

  auto v = std::minmax(1, 2);

which dangles because this overload of std::minmax returns
a std::pair<const int&, const int&> where the two references are
bound to the temporaries created for the arguments of std::minmax.
This is a common footgun, also described at
<https://en.cppreference.com/w/cpp/algorithm/minmax> in Notes.

It works by extending do_warn_dangling_reference to also warn when the
function returns a std::pair<const T&, const T&>.  std_pair_ref_ref_p
is a new helper to check that.

gcc/cp/ChangeLog:

* call.cc (std_pair_ref_ref_p): New.
(do_warn_dangling_reference): Also warn when the function returns
std::pair<const T&, const T&>.  Recurse into TARGET_EXPR_INITIAL.
(maybe_warn_dangling_reference): Don't return early if we're
initializing a std_pair_ref_ref_p.

gcc/ChangeLog:

* doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
Extend the description of -Wdangling-reference.

gcc/testsuite/ChangeLog:

* g++.dg/warn/Wdangling-reference6.C: New test.

20 months agodocs: move label directly before title
Martin Liska [Thu, 10 Nov 2022 17:00:33 +0000 (18:00 +0100)]
docs: move label directly before title

Otherwise Sphinx can compare if Intersphinx is unavailable:

gcc/fortran/doc/gfortran/intrinsic-procedures/atand.rst:50: WARNING: Failed to create a cross reference. A title or caption not found: 'atan'
gcc/fortran/doc/gfortran/intrinsic-procedures/atan2.rst:55: WARNING: Failed to create a cross reference. A title or caption not found: 'atan'
...

gcc/fortran/ChangeLog:

* doc/gfortran/intrinsic-procedures/abs.rst: Move label directly before title.
* doc/gfortran/intrinsic-procedures/acos.rst: Likewise.
* doc/gfortran/intrinsic-procedures/acosd.rst: Likewise.
* doc/gfortran/intrinsic-procedures/acosh.rst: Likewise.
* doc/gfortran/intrinsic-procedures/aimag.rst: Likewise.
* doc/gfortran/intrinsic-procedures/aint.rst: Likewise.
* doc/gfortran/intrinsic-procedures/anint.rst: Likewise.
* doc/gfortran/intrinsic-procedures/asin.rst: Likewise.
* doc/gfortran/intrinsic-procedures/asind.rst: Likewise.
* doc/gfortran/intrinsic-procedures/asinh.rst: Likewise.
* doc/gfortran/intrinsic-procedures/atan.rst: Likewise.
* doc/gfortran/intrinsic-procedures/atan2.rst: Likewise.
* doc/gfortran/intrinsic-procedures/atan2d.rst: Likewise.
* doc/gfortran/intrinsic-procedures/atand.rst: Likewise.
* doc/gfortran/intrinsic-procedures/atanh.rst: Likewise.
* doc/gfortran/intrinsic-procedures/besselj0.rst: Likewise.
* doc/gfortran/intrinsic-procedures/besselj1.rst: Likewise.
* doc/gfortran/intrinsic-procedures/besseljn.rst: Likewise.
* doc/gfortran/intrinsic-procedures/bessely0.rst: Likewise.
* doc/gfortran/intrinsic-procedures/bessely1.rst: Likewise.
* doc/gfortran/intrinsic-procedures/besselyn.rst: Likewise.
* doc/gfortran/intrinsic-procedures/btest.rst: Likewise.
* doc/gfortran/intrinsic-procedures/char.rst: Likewise.
* doc/gfortran/intrinsic-procedures/conjg.rst: Likewise.
* doc/gfortran/intrinsic-procedures/cos.rst: Likewise.
* doc/gfortran/intrinsic-procedures/cosd.rst: Likewise.
* doc/gfortran/intrinsic-procedures/cosh.rst: Likewise.
* doc/gfortran/intrinsic-procedures/cotan.rst: Likewise.
* doc/gfortran/intrinsic-procedures/cotand.rst: Likewise.
* doc/gfortran/intrinsic-procedures/dim.rst: Likewise.
* doc/gfortran/intrinsic-procedures/dprod.rst: Likewise.
* doc/gfortran/intrinsic-procedures/erf.rst: Likewise.
* doc/gfortran/intrinsic-procedures/erfc.rst: Likewise.
* doc/gfortran/intrinsic-procedures/exp.rst: Likewise.
* doc/gfortran/intrinsic-procedures/gamma.rst: Likewise.
* doc/gfortran/intrinsic-procedures/iand.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ibclr.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ibits.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ibset.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ichar.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ieor.rst: Likewise.
* doc/gfortran/intrinsic-procedures/index.rst: Likewise.
* doc/gfortran/intrinsic-procedures/int.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ior.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ishft.rst: Likewise.
* doc/gfortran/intrinsic-procedures/ishftc.rst: Likewise.
* doc/gfortran/intrinsic-procedures/len.rst: Likewise.
* doc/gfortran/intrinsic-procedures/lge.rst: Likewise.
* doc/gfortran/intrinsic-procedures/lgt.rst: Likewise.
* doc/gfortran/intrinsic-procedures/lle.rst: Likewise.
* doc/gfortran/intrinsic-procedures/llt.rst: Likewise.
* doc/gfortran/intrinsic-procedures/log.rst: Likewise.
* doc/gfortran/intrinsic-procedures/log10.rst: Likewise.
* doc/gfortran/intrinsic-procedures/loggamma.rst: Likewise.
* doc/gfortran/intrinsic-procedures/max.rst: Likewise.
* doc/gfortran/intrinsic-procedures/min.rst: Likewise.
* doc/gfortran/intrinsic-procedures/mod.rst: Likewise.
* doc/gfortran/intrinsic-procedures/mvbits.rst: Likewise.
* doc/gfortran/intrinsic-procedures/nint.rst: Likewise.
* doc/gfortran/intrinsic-procedures/not.rst: Likewise.
* doc/gfortran/intrinsic-procedures/real.rst: Likewise.
* doc/gfortran/intrinsic-procedures/sign.rst: Likewise.
* doc/gfortran/intrinsic-procedures/sin.rst: Likewise.
* doc/gfortran/intrinsic-procedures/sind.rst: Likewise.
* doc/gfortran/intrinsic-procedures/sinh.rst: Likewise.
* doc/gfortran/intrinsic-procedures/sqrt.rst: Likewise.
* doc/gfortran/intrinsic-procedures/tan.rst: Likewise.
* doc/gfortran/intrinsic-procedures/tand.rst: Likewise.
* doc/gfortran/intrinsic-procedures/tanh.rst: Likewise.

20 months agoRemove SLOW_SHORT_ACCESS from target headers
Andrew Pinski [Thu, 10 Nov 2022 01:11:43 +0000 (01:11 +0000)]
Remove SLOW_SHORT_ACCESS from target headers

SLOW_SHORT_ACCESS is defined in bfin and i386 target
headers but the target macro is not used elsewhere.
So let's remove it from those two headers and poison it.

OK? Built x86_64-linux-gnu and bfin-elf.

gcc/ChangeLog:

* config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
* config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
* system.h: Poison SLOW_SHORT_ACCESS

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

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

20 months 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}.

20 months 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>
20 months 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>
20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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|.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

20 months 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.

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

20 months 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>
20 months 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.

20 months 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.