Commit graph

1364 commits

Author SHA1 Message Date
Martin Liska
1f5a932e89 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.
2022-11-09 09:00:36 +01:00
Martin Liska
54ca4eef58 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.
2022-11-09 09:00:35 +01:00
Martin Liska
41a45cba00 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.
2022-11-09 09:00:35 +01:00
Martin Liska
c63539ffe4 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.
2022-11-09 09:00:35 +01:00
GCC Administrator
21de009f74 Daily bump. 2022-10-19 00:19:08 +00:00
Florian Weimer
885b6660c1 libiberty: Fix C89-isms in configure tests
libiberty/

	* acinclude.m4 (ac_cv_func_strncmp_works): Add missing
	int return type and parameter list to the definition of main.
	Include <stdlib.h> and <string.h> for prototypes.
	(ac_cv_c_stack_direction): Add missing
	int return type and parameter list to the definitions of
	main, find_stack_direction.  Include <stdlib.h> for exit
	prototype.
	* configure: Regenerate.
2022-10-18 16:58:48 +02:00
GCC Administrator
baeec7cc83 Daily bump. 2022-10-15 00:17:38 +00:00
Jakub Jelinek
c2565a31c1 middle-end, c++, i386, libgcc: std::bfloat16_t and __bf16 arithmetic support
Here is a complete patch to add std::bfloat16_t support on
x86 (AArch64 and ARM left for later).  Almost no BFmode optabs
are added by the patch, so for binops/unops it extends to SFmode
first and then truncates back to BFmode.
For {HF,SF,DF,XF,TF}mode -> BFmode conversions libgcc has implementations
of all those conversions so that we avoid double rounding, for
BFmode -> {DF,XF,TF}mode conversions to avoid growing libgcc too much
it emits BFmode -> SFmode conversion first and then converts to the even
wider mode, neither step should be imprecise.
For BFmode -> HFmode, it first emits a precise BFmode -> SFmode conversion
and then SFmode -> HFmode, because neither format is subset or superset
of the other, while SFmode is superset of both.
expr.cc then contains a -ffast-math optimization of the BF -> SF and
SF -> BF conversions if we don't optimize for space (and for the latter
if -frounding-math isn't enabled either).
For x86, perhaps truncsfbf2 optab could be defined for TARGET_AVX512BF16
but IMNSHO should FAIL if !flag_finite_math || flag_rounding_math
|| !flag_unsafe_math_optimizations, because I think the insn doesn't
raise on sNaNs, hardcodes round to nearest and flushes denormals to zero.
By default (unless x86 -fexcess-precision=16) we use float excess
precision for BFmode, so truncate only on explicit casts and assignments.
The patch introduces a single __bf16 builtin - __builtin_nansf16b,
because (__bf16) __builtin_nansf ("") will drop the sNaN into qNaN,
and uses f16b suffix instead of bf16 because there would be ambiguity on
log vs. logb - __builtin_logbf16 could be either log with bf16 suffix
or logb with f16 suffix.  In other cases libstdc++ should mostly use
__builtin_*f for std::bfloat16_t overloads (we have a problem with
std::nextafter though but that one we have also for std::float16_t).

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

gcc/
	* tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
	* tree.h (bfloat16_type_node): Define.
	* tree.cc (excess_precision_type): Promote bfloat16_type_mode
	like float16_type_mode.
	(build_common_tree_nodes): Initialize bfloat16_type_node if
	BFmode is supported.
	* expmed.h (maybe_expand_shift): Declare.
	* expmed.cc (maybe_expand_shift): No longer static.
	* expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
	conversions.  If there is no optab, handle BF -> {DF,XF,TF,HF}
	conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
	-ffast-math generic implementation for BF -> SF and SF -> BF
	conversions.
	* builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
	* builtins.def (BUILT_IN_NANSF16B): New builtin.
	* fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
	* config/i386/i386.cc (classify_argument): Handle E_BCmode.
	(ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
	for -msse2.
	(ix86_mangle_type): Mangle BFmode as DF16b.
	(ix86_invalid_conversion, ix86_invalid_unary_op,
	ix86_invalid_binary_op): Remove.
	(TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
	TARGET_INVALID_BINARY_OP): Don't redefine.
	* config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
	(ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
	ix86_bf16_type_node, only create it if still NULL.
	* config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
	* config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
gcc/c-family/
	* c-cppbuiltin.cc (c_cpp_builtins): If bfloat16_type_node,
	predefine __BFLT16_*__ macros and for C++23 also
	__STDCPP_BFLOAT16_T__.  Predefine bfloat16_type_node related
	macros for -fbuilding-libgcc.
	* c-lex.cc (interpret_float): Handle CPP_N_BFLOAT16.
gcc/c/
	* c-typeck.cc (convert_arguments): Don't promote __bf16 to
	double.
gcc/cp/
	* cp-tree.h (extended_float_type_p): Return true for
	bfloat16_type_node.
	* typeck.cc (cp_compare_floating_point_conversion_ranks): Set
	extended{1,2} if mv{1,2} is bfloat16_type_node.  Adjust comment.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_bfloat16,
	check_effective_target_bfloat16_runtime, add_options_for_bfloat16):
	New.
	* gcc.dg/torture/bfloat16-basic.c: New test.
	* gcc.dg/torture/bfloat16-builtin.c: New test.
	* gcc.dg/torture/bfloat16-builtin-issignaling-1.c: New test.
	* gcc.dg/torture/bfloat16-complex.c: New test.
	* gcc.dg/torture/builtin-issignaling-1.c: Allow to be includable
	from bfloat16-builtin-issignaling-1.c.
	* gcc.dg/torture/floatn-basic.h: Allow to be includable from
	bfloat16-basic.c.
	* gcc.target/i386/vect-bfloat16-typecheck_2.c: Adjust expected
	diagnostics.
	* gcc.target/i386/sse2-bfloat16-scalar-typecheck.c: Likewise.
	* gcc.target/i386/vect-bfloat16-typecheck_1.c: Likewise.
	* g++.target/i386/bfloat_cpp_typecheck.C: Likewise.
libcpp/
	* include/cpplib.h (CPP_N_BFLOAT16): Define.
	* expr.cc (interpret_float_suffix): Handle bf16 and BF16 suffixes for
	C++.
libgcc/
	* config/i386/t-softfp (softfp_extensions): Add bfsf.
	(softfp_truncations): Add tfbf xfbf dfbf sfbf hfbf.
	(CFLAGS-extendbfsf2.c, CFLAGS-truncsfbf2.c, CFLAGS-truncdfbf2.c,
	CFLAGS-truncxfbf2.c, CFLAGS-trunctfbf2.c, CFLAGS-trunchfbf2.c): Add
	-msse2.
	* config/i386/libgcc-glibc.ver (GCC_13.0.0): Export
	__extendbfsf2 and __trunc{s,d,x,t,h}fbf2.
	* config/i386/sfp-machine.h (_FP_NANSIGN_B): Define.
	* config/i386/64/sfp-machine.h (_FP_NANFRAC_B): Define.
	* config/i386/32/sfp-machine.h (_FP_NANFRAC_B): Define.
	* soft-fp/brain.h: New file.
	* soft-fp/truncsfbf2.c: New file.
	* soft-fp/truncdfbf2.c: New file.
	* soft-fp/truncxfbf2.c: New file.
	* soft-fp/trunctfbf2.c: New file.
	* soft-fp/trunchfbf2.c: New file.
	* soft-fp/truncbfhf2.c: New file.
	* soft-fp/extendbfsf2.c: New file.
libiberty/
	* cp-demangle.h (D_BUILTIN_TYPE_COUNT): Increment.
	* cp-demangle.c (cplus_demangle_builtin_types): Add std::bfloat16_t
	entry.
	(cplus_demangle_type): Demangle DF16b.
	* testsuite/demangle-expected (_Z3xxxDF16b): New test.
2022-10-14 09:37:01 +02:00
GCC Administrator
ab332cd78d Daily bump. 2022-10-12 00:17:24 +00:00
Nathan Sidwell
0fa35c7e29 libiberty: Demangling 'M' prefixes
The grammar for a lambda context can include <source-name> 'M', and we
were adding the component that generated to the substitution table
twice.  Just ignore the 'M' completely -- we'll already have done the
checks we need when we saw its predecessor.  A prefix cannot be the
last component of a nested name, so we do not need to check for that
case (although we could if we wanted to be more lenient).

	libiberty/
	* cp-demangle.c (d_prefix): 'M' components are not
	(re-)added to the substitution table.
	* testsuite/demangle-expected: Add tests.
2022-10-11 04:39:50 -07:00
GCC Administrator
9ff6c33e2e Daily bump. 2022-10-08 00:17:29 +00:00
Nathan Sidwell
eb491ea5c1 libiberty: Demangle variadic template lambdas
Now we have templated lambdas, we can have variadic template lambdas,
and this leads to lambda signatures containing parameter packs.  But
just like 'auto' inside such a signature, we don't have a containing
template, and thus fail.  The fix is to check is_lambda_arg, just as
for a template parameter.  This allows us to demangle g++'s manglings
of such lambdas.

It's not a totally accurate demangling, because we don't mangle the
template head (that's a separate issue), but it is better than failing
to demangle.

Due to the way we print subexprs, we add an unnecessary parens around
the argument of the pack.  That's an orthogonal problem, for which the
solution is to have better knowledge of operator precedence.

	libiberty/
	* cp-demangle.c (d_print_comp_inner): Allow parameter packs
	in a lambda signature.
	* testsuite/demangle-expected: Add tests.
2022-10-07 09:12:01 -07:00
GCC Administrator
1f16a020ac Daily bump. 2022-09-28 00:17:27 +00:00
Jakub Jelinek
b04208895f c++: Implement P1467R9 - Extended floating-point types and standard names compiler part except for bfloat16 [PR106652]
The following patch implements the compiler part of C++23
P1467R9 - Extended floating-point types and standard names compiler part
by introducing _Float{16,32,64,128} as keywords and builtin types
like they are implemented for C already since GCC 7, with DF{16,32,64,128}_
mangling.
It also introduces _Float{32,64,128}x for C++ with the
https://github.com/itanium-cxx-abi/cxx-abi/pull/147
proposed mangling of DF{32,64,128}x.
The patch doesn't add anything for bfloat16_t support, as right now
__bf16 type refuses all conversions and arithmetic operations.
The patch wants to keep backwards compatibility with how __float128 has
been handled in C++ before, both for mangling and behavior in binary
operations, overload resolution etc.  So, there are some backend changes
where for C __float128 and _Float128 are the same type (float128_type_node
and float128t_type_node are the same pointer), but for C++ they are distinct
types which mangle differently and _Float128 is treated as extended
floating-point type while __float128 is treated as non-standard floating
point type.  The various C++23 changes about how floating-point types
are changed are actually implemented as written in the spec only if at least
one of the types involved is _Float{16,32,64,128,32x,64x,128x} (_FloatNx are
also treated as extended floating-point types) and kept previous behavior
otherwise.  For float/double/long double the rules are actually written that
they behave the same as before.
There is some backwards incompatibility at least on x86 regarding _Float16,
because that type was already used by that name and with the DF16_ mangling
(but only since GCC 12 and I think it isn't that widely used in the wild
yet).  E.g. config/i386/avx512fp16intrin.h shows the issues, where
in C or in GCC 12 in C++ one could pass 0.0f to a builtin taking _Float16
argument, but with the changes that is not possible anymore, one needs
to either use 0.0f16 or (_Float16) 0.0f.
We have also a problem with glibc headers, where since glibc 2.27
math.h and complex.h aren't compilable with these changes.  One gets
errors like:
In file included from /usr/include/math.h:43,
                 from abc.c:1:
/usr/include/bits/floatn.h:86:9: error: multiple types in one declaration
   86 | typedef __float128 _Float128;
      |         ^~~~~~~~~~
/usr/include/bits/floatn.h:86:20: error: declaration does not declare anything [-fpermissive]
   86 | typedef __float128 _Float128;
      |                    ^~~~~~~~~
In file included from /usr/include/bits/floatn.h:119:
/usr/include/bits/floatn-common.h:214:9: error: multiple types in one declaration
  214 | typedef float _Float32;
      |         ^~~~~
/usr/include/bits/floatn-common.h:214:15: error: declaration does not declare anything [-fpermissive]
  214 | typedef float _Float32;
      |               ^~~~~~~~
/usr/include/bits/floatn-common.h:251:9: error: multiple types in one declaration
  251 | typedef double _Float64;
      |         ^~~~~~
/usr/include/bits/floatn-common.h:251:16: error: declaration does not declare anything [-fpermissive]
  251 | typedef double _Float64;
      |                ^~~~~~~~
This is from snippets like:
 /* The remaining of this file provides support for older compilers.  */
 # if __HAVE_FLOAT128

 /* The type _Float128 exists only since GCC 7.0.  */
 #  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
 typedef __float128 _Float128;
 #  endif
where it hardcodes that C++ doesn't have _Float{16,32,64,128,32x,64x,128x} support nor
{f,F}{16,32,64,128}{,x} literal suffixes nor _Complex _Float{16,32,64,128,32x,64x,128x}.
The patch fixincludes this for now and hopefully if this is committed, then
glibc can change those.  The patch changes those
 #  if !__GNUC_PREREQ (7, 0) || defined __cplusplus
conditions to
 #  if !__GNUC_PREREQ (7, 0) || (defined __cplusplus && !__GNUC_PREREQ (13, 0))
Another thing is mangling, as said above, Itanium C++ ABI specifies
DF <number> _ as _Float{16,32,64,128} mangling, but GCC was implementing
a mangling incompatible with that starting with DF for fixed point types.
Fixed point was never supported in C++ though, I believe the reason why
the mangling has been added was that due to a bug it would leak into the
C++ FE through decltype (0.0r) etc.  But that has been shortly after the
mangling was added fixed (I think in the same GCC release cycle), so we
now reject 0.0r etc. in C++.  If we ever need the fixed point mangling,
I think it can be readded but better with a different prefix so that it
doesn't conflict with the published standard manglings.  So, this patch
also kills the fixed point mangling and implements the DF <number> _
demangling.
The patch predefines __STDCPP_FLOAT{16,32,64,128}_T__ macros when
those types are available, but only for C++23, while the underlying types
are available in C++98 and later including the {f,F}{16,32,64,128} literal
suffixes (but those with a pedwarn for C++20 and earlier).  My understanding
is that it needs to be predefined by the compiler, on the other side
predefining even for older modes when <stdfloat> is a new C++23 header
would be weird.  One can find out if _Float{16,32,64,128,32x,64x,128x} is
supported in C++ by
__GNUC__ >= 13 && defined(__FLT{16,32,64,128,32X,64X,128X}_MANT_DIG__)
(but that doesn't work well with older G++ 13 snapshots).

As for std::bfloat16_t, three targets (aarch64, arm and x86) apparently
"support" __bf16 type which has the bfloat16 format, but isn't really
usable, e.g. {aarch64,arm,ix86}_invalid_conversion disallow any conversions
from or to type with BFmode, {aarch64,arm,ix86}_invalid_unary_op disallows
any unary operations on those except for ADDR_EXPR and
{aarch64,arm,ix86}_invalid_binary_op disallows any binary operation on
those.  So, I think we satisfy:
"If the implementation supports an extended floating-point type with the
properties, as specified by ISO/IEC/IEEE 60559, of radix (b) of 2, storage
width in bits (k) of 16, precision in bits (p) of 8, maximum exponent (emax)
of 127, and exponent field width in bits (w) of 8, then the typedef-name
std::bfloat16_t is defined in the header <stdfloat> and names such a type,
the macro __STDCPP_BFLOAT16_T__ is defined, and the floating-point literal
suffixes bf16 and BF16 are supported."
because we don't really support those right now.

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

	PR c++/106652
	PR c++/85518
gcc/
	* tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
	enumerator.
	* tree.h (float128t_type_node): Define.
	* tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
	* builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
	_Float<N> is supported in C++ too.
	* config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
	float128t_type_node.
	* config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
	float128t_type_node for __float128 instead of float128_type_node
	and create it if NULL.
	* config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
	_mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
	0.0f.
	* config/ia64/ia64.cc (ia64_init_builtins): Use
	float128t_type_node for __float128 instead of float128_type_node
	and create it if NULL.
	* config/rs6000/rs6000-c.cc (is_float128_p): Also return true
	for float128t_type_node if non-NULL.
	* config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
	float128_type_node as "u9__ieee128".
	* config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
	float128t_type_node for __float128 instead of float128_type_node
	and create it if NULL.
gcc/c-family/
	* c-common.cc (c_common_reswords): Change _Float{16,32,64,128} and
	_Float{32,64,128}x flags from D_CONLY to 0.
	(shorten_binary_op): Punt if common_type returns error_mark_node.
	(shorten_compare): Likewise.
	(c_common_nodes_and_builtins): For C++ record _Float{16,32,64,128}
	and _Float{32,64,128}x builtin types if available.  For C++
	clear float128t_type_node.
	* c-cppbuiltin.cc (c_cpp_builtins): Predefine
	__STDCPP_FLOAT{16,32,64,128}_T__ for C++23 if supported.
	* c-lex.cc (interpret_float): For q/Q suffixes prefer
	float128t_type_node over float128_type_node.  Allow
	{f,F}{16,32,64,128} suffixes for C++ if supported with pedwarn
	for C++20 and older.  Allow {f,F}{32,64,128}x suffixes for C++
	with pedwarn.  Don't call excess_precision_type for C++.
gcc/cp/
	* cp-tree.h (cp_compare_floating_point_conversion_ranks): Implement
	P1467R9 - Extended floating-point types and standard names except
	for std::bfloat16_t for now.  Declare.
	(extended_float_type_p): New inline function.
	* mangle.cc (write_builtin_type): Mangle float{16,32,64,128}_type_node
	as DF{16,32,64,128}_.  Mangle float{32,64,128}x_type_node as
	DF{32,64,128}x.  Remove FIXED_POINT_TYPE mangling that conflicts
	with that.
	* typeck2.cc (check_narrowing): If one of ftype or type is extended
	floating-point type, compare floating-point conversion ranks.
	* parser.cc (cp_keyword_starts_decl_specifier_p): Handle
	CASE_RID_FLOATN_NX.
	(cp_parser_simple_type_specifier): Likewise and diagnose missing
	_Float<N> or _Float<N>x support if not supported by target.
	* typeck.cc (cp_compare_floating_point_conversion_ranks): New function.
	(cp_common_type): If both types are REAL_TYPE and one or both are
	extended floating-point types, select common type based on comparison
	of floating-point conversion ranks and subranks.
	(cp_build_binary_op): Diagnose operation with floating point arguments
	with unordered conversion ranks.
	* call.cc (standard_conversion): For floating-point conversion, if
	either from or to are extended floating-point types, set conv->bad_p
	for implicit conversion from larger to smaller conversion rank or
	with unordered conversion ranks.
	(convert_like_internal): Emit a pedwarn on such conversions.
	(build_conditional_expr): Diagnose operation with floating point
	arguments with unordered conversion ranks.
	(convert_arg_to_ellipsis): Don't promote extended floating-point types
	narrower than double to double.
	(compare_ics): Implement P1467R9 [over.ics.rank]/4 changes.
gcc/testsuite/
	* g++.dg/cpp23/ext-floating1.C: New test.
	* g++.dg/cpp23/ext-floating2.C: New test.
	* g++.dg/cpp23/ext-floating3.C: New test.
	* g++.dg/cpp23/ext-floating4.C: New test.
	* g++.dg/cpp23/ext-floating5.C: New test.
	* g++.dg/cpp23/ext-floating6.C: New test.
	* g++.dg/cpp23/ext-floating7.C: New test.
	* g++.dg/cpp23/ext-floating8.C: New test.
	* g++.dg/cpp23/ext-floating9.C: New test.
	* g++.dg/cpp23/ext-floating10.C: New test.
	* g++.dg/cpp23/ext-floating.h: New file.
	* g++.target/i386/float16-1.C: Adjust expected diagnostics.
libcpp/
	* expr.cc (interpret_float_suffix): Allow {f,F}{16,32,64,128} and
	{f,F}{32,64,128}x suffixes for C++.
include/
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_EXTENDED_BUILTIN_TYPE.
	(struct demangle_component): Add u.s_extended_builtin member.
libiberty/
	* cp-demangle.c (d_dump): Handle
	DEMANGLE_COMPONENT_EXTENDED_BUILTIN_TYPE.  Don't handle
	DEMANGLE_COMPONENT_FIXED_TYPE.
	(d_make_extended_builtin_type): New function.
	(cplus_demangle_builtin_types): Add _Float entry.
	(cplus_demangle_type): For DF demangle it as _Float<N> or
	_Float<N>x rather than fixed point which conflicts with it.
	(d_count_templates_scopes): Handle
	DEMANGLE_COMPONENT_EXTENDED_BUILTIN_TYPE.  Just break; for
	DEMANGLE_COMPONENT_FIXED_TYPE.
	(d_find_pack): Handle DEMANGLE_COMPONENT_EXTENDED_BUILTIN_TYPE.
	Don't handle DEMANGLE_COMPONENT_FIXED_TYPE.
	(d_print_comp_inner): Likewise.
	* cp-demangle.h (D_BUILTIN_TYPE_COUNT): Bump.
	* testsuite/demangle-expected: Replace _Z3xxxDFyuVb test
	with _Z3xxxDF16_DF32_DF64_DF128_CDF16_Vb.  Add
	_Z3xxxDF32xDF64xDF128xCDF32xVb test.
fixincludes/
	* inclhack.def (glibc_cxx_floatn_1, glibc_cxx_floatn_2,
	glibc_cxx_floatn_3): New fixes.
	* tests/base/bits/floatn.h: New file.
	* fixincl.x: Regenerated.
2022-09-27 08:18:00 +02:00
GCC Administrator
279c671509 Daily bump. 2022-09-23 00:18:01 +00:00
Jonathan Wakely
3ad3f53bb3 libiberty: Refer to Bugzilla in README
We want bugs reported to Bugzilla, not emailed to gcc-bugs.

libiberty/ChangeLog:

	* README: Replace gcc-bugs email address with Bugzilla URL.
2022-09-22 15:19:14 +01:00
GCC Administrator
5d4389dc91 Daily bump. 2022-08-26 00:16:21 +00:00
Martin Liska
b1a3d2b778 regenerate configure files and config.h.in files
fixincludes/ChangeLog:

	* config.h.in: Regenerate.
	* configure: Regenerate.

libada/ChangeLog:

	* configure: Regenerate.

libiberty/ChangeLog:

	* configure: Regenerate.

libobjc/ChangeLog:

	* configure: Regenerate.

liboffloadmic/ChangeLog:

	* configure: Regenerate.
	* plugin/configure: Regenerate.

libquadmath/ChangeLog:

	* configure: Regenerate.

libssp/ChangeLog:

	* configure: Regenerate.

libvtv/ChangeLog:

	* configure: Regenerate.

zlib/ChangeLog:

	* configure: Regenerate.
2022-08-25 14:23:40 +02:00
GCC Administrator
b563a8dd3f Daily bump. 2022-07-23 00:16:27 +00:00
Martin Liska
aaf9583d4c remove 'continue' as last statement in loop
PR other/106370

gcc/cp/ChangeLog:

	* init.cc (sort_mem_initializers): Remove continue as last stmt
	in a loop.

libiberty/ChangeLog:

	* _doprnt.c: Remove continue as last stmt
	in a loop.
2022-07-22 09:28:48 +02:00
GCC Administrator
e0e07bc762 Daily bump. 2022-07-15 00:16:22 +00:00
Martin Liska
9f7f049989 libiberty: fix docs typo
libiberty/ChangeLog:

	* functions.texi: Replace strtoul with strtoull.
2022-07-14 11:34:02 +02:00
GCC Administrator
8467574d8d Daily bump. 2022-07-05 00:16:36 +00:00
Nick Clifton
fc968115a7 Fix typo in recent code to add stack recursion limit to the Rust demangler.
libiberty
	* rust-demangle.c (demangle_const): Add a missing goto pass_return
	at the end of the function.
2022-07-04 16:31:18 +01:00
Nick Clifton
1a770b01ef Prevent another potential stack overflow issue when demangling a maliciouslt mangled Rust name.
libiberty/
	* rust-demangle.c (demangle_path_maybe_open_generics): Add
	recursion limit.
2022-07-04 11:05:03 +01:00
GCC Administrator
ed97448899 Daily bump. 2022-07-02 00:16:26 +00:00
Nick Clifton
9234cdca6e Add a recursion limit to the demangle_const function in the Rust demangler.
libiberty/
	PR demangler/105039
	* rust-demangle.c (demangle_const): Add recursion limit.
2022-07-01 16:00:06 +01:00
GCC Administrator
b2b72757b2 Daily bump. 2022-06-27 00:16:20 +00:00
Simon Marchi
1f237573ca Make it easier to rebuild configure files.
Add

  AC_CONFIG_MACRO_DIRS([../config])

So that just running:

  $ autoreconf -vf

... does the right thing (no need to specify -I ../config).

Note: I don't have access to the gcc repo, so if this patch is approved,
can somebody push it there on my behalf?  I can push it to binutils-gdb.

libiberty/ChangeLog:

	* configure.ac: Add AC_CONFIG_MACRO_DIRS call.
	* configure: Re-generate.
2022-06-26 14:43:33 -04:00
GCC Administrator
168fc8bda1 Daily bump. 2022-05-24 00:17:03 +00:00
Nathan Sidwell
b7feb71d45 demangler: C++ modules support
This adds demangling support for C++ modules.  A new 'W' component
along with augmented behaviour of 'S' components.

	include/
	* demangle.h (enum demangle_component_type): Add module components.
	libiberty/
	* cp-demangle.c (d_make_comp): Adjust.
	(d_name, d_prefix): Adjust subst handling. Add module handling.
	(d_maybe_module_name): New.
	(d_unqualified_name): Add incoming module parm. Handle it.  Adjust all callers.
	(d_special_name): Add 'GI' support.
	(d_count_template_scopes): Adjust.
	(d_print_comp_inner): Print module.
	* testsuite/demangle-expected: New test cases
2022-05-23 05:39:15 -07:00
GCC Administrator
1cda629f96 Daily bump. 2022-05-19 00:16:32 +00:00
Nathan Sidwell
65851d65fb demangler: Reorganize for module demangling
Module demangling requires some changes in how substitutions are
handled.  This adjusts things to make that possible.

	libiberty/
	* cp-demangle.c (d_name): Add SUBSTABLE parameter,
	push substitution if requested. Adjust unscoped name handling.
	(d_prefix): Reorder main loop. Adjust all calls.
	(d_unqualified_name): Add SCOPE parameter, create qualified
	name here. Adjust all calls.
	(cplus_demangle_type): Do not handle 'S' here, leave all
	to d_class_enum_type.
	(d_class_enum_type): Add SUBSTABLE parameter.
2022-05-18 03:58:55 -07:00
GCC Administrator
3d9439b1bb Daily bump. 2022-05-18 00:16:36 +00:00
Nathan Sidwell
451894cadc demangler: Structured Bindings
C++ Structured bindings have a mangling that has yet to be formally
documented.  However, it's been around for a while and shows up for
module support.

	include/
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_STRUCTURED_BINDING.
	libiberty/
	* cp-demangle.c (d_make_comp): Adjust.
	(d_unqualified_name): Add 'DC' support.
	(d_count_template_scopes): Adjust.
	(d_print_comp_inner): Add structured binding.
	* testsuite/demangle-expected: Add testcases.
2022-05-17 11:10:03 -07:00
GCC Administrator
e877898911 Daily bump. 2022-05-11 00:16:40 +00:00
Martin Liska
098f02aa15 libiberty: fix wrong replacent in comments
libiberty/ChangeLog:

	* regex.c: Restore comments.
2022-05-10 17:36:28 +02:00
Martin Liska
5dac43b43c libiberty: fix type in allocation
The allocation function alloc_f is called for nsize
items where each is of type void *.

libiberty/ChangeLog:

	* hashtab.c (htab_empty): Use void * type instead of void **.
	(htab_expand): Likewise.

Co-Authored-By: Alan Modra <amodra@gmail.com>
2022-05-10 17:32:44 +02:00
Martin Liska
9cb69e7884 libiberty: fix bad replacement.
libiberty/ChangeLog:

	* random.c: Remove 'define PTR'.
2022-05-10 17:00:34 +02:00
Martin Liska
50b009c5da libiberty: stop using PTR macro
include/ChangeLog:

	* hashtab.h (HTAB_EMPTY_ENTRY): Use void * instead PTR.
	(HTAB_DELETED_ENTRY): Likewise.

libiberty/ChangeLog:

	* alloca.c (C_alloca): Use void * instead PTR.
	* calloc.c (malloc): Likewise.
	(bzero): Likewise.
	(calloc): Likewise.
	* hashtab.c (find_empty_slot_for_expand): Likewise.
	(eq_pointer): Likewise.
	(htab_create_alloc_ex): Likewise.
	(htab_create_typed_alloc): Likewise.
	(htab_set_functions_ex): Likewise.
	(htab_delete): Likewise.
	(htab_empty): Likewise.
	(htab_expand): Likewise.
	(htab_find_with_hash): Likewise.
	(htab_find): Likewise.
	(htab_find_slot_with_hash): Likewise.
	(htab_find_slot): Likewise.
	(htab_remove_elt): Likewise.
	(htab_remove_elt_with_hash): Likewise.
	(htab_clear_slot): Likewise.
	(htab_traverse_noresize): Likewise.
	(htab_traverse): Likewise.
	(htab_hash_string): Likewise.
	(iterative_hash): Likewise.
	(hash_pointer): Likewise.
	* memchr.c (memchr): Likewise.
	* memcmp.c (memcmp): Likewise.
	* memcpy.c (memcpy): Likewise.
	* memmove.c (memmove): Likewise.
	* mempcpy.c (memcpy): Likewise.
	(mempcpy): Likewise.
	* memset.c (memset): Likewise.
	* objalloc.c (malloc): Likewise.
	(free): Likewise.
	(objalloc_create): Likewise.
	(_objalloc_alloc): Likewise.
	(objalloc_free_block): Likewise.
	* random.c (PTR): Likewise.
	(void): Likewise.
	(initstate): Likewise.
	(setstate): Likewise.
	* regex.c: Likewise.
	* spaces.c (malloc): Likewise.
	(free): Likewise.
	* stpcpy.c (memcpy): Likewise.
	* strdup.c (malloc): Likewise.
	(memcpy): Likewise.
	* strerror.c (malloc): Likewise.
	(memset): Likewise.
	* strndup.c (malloc): Likewise.
	(memcpy): Likewise.
	* strsignal.c (malloc): Likewise.
	(memset): Likewise.
	* vasprintf.c (malloc): Likewise.
	* vprintf-support.c: Likewise.
	* xatexit.c (malloc): Likewise.
	* xmalloc.c (xmalloc): Likewise.
	(xcalloc): Likewise.
	(xrealloc): Likewise.
	* xmemdup.c (xmemdup): Likewise.
2022-05-10 16:04:30 +02:00
GCC Administrator
d7f00da1c0 Daily bump. 2022-03-20 00:16:30 +00:00
Tiezhu Yang
b2dff6b2d9 rename floatformat_ia64_quad_{big, little} to floatformat_ieee_quad_{big, little}
I submitted a GDB patch [1] to rename floatformats_ia64_quad to
floatformats_ieee_quad to reflect the reality, and then we can
clean up the related code.

As GDB Global Maintainer Tom Tromey said [2]:

  These files are maintained in gcc and then imported into the
  binutils-gdb repository, so any changes to them will have to
  be proposed there first.

this GCC patch is preparation for the GDB patch, no functionality
change.

[1] https://sourceware.org/pipermail/gdb-patches/2022-March/186452.html
[2] https://sourceware.org/pipermail/gdb-patches/2022-March/186569.html

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>

include/
	* floatformat.h (floatformat_ieee_quad_big): Renamed from
	floatformat_ia64_quad_big.
	(floatformat_ieee_quad_little): Similarly.

libiberty/
	* floatformat.c (floatformat_ieee_quad_big): Renamed from
	floatformat_ia64_quad_big.
	(floatformat_ieee_quad_little): Similarly.
2022-03-19 13:33:40 -04:00
GCC Administrator
2cfb33fc1e Daily bump. 2022-02-23 00:16:24 +00:00
Jakub Jelinek
2f59f06761 libiberty: Fix up debug.temp.o creation if *.o has 64K+ sections [PR104617]
On
 #define A(n) int foo1##n(void) { return 1##n; }
 #define B(n) A(n##0) A(n##1) A(n##2) A(n##3) A(n##4) A(n##5) A(n##6) A(n##7) A(n##8) A(n##9)
 #define C(n) B(n##0) B(n##1) B(n##2) B(n##3) B(n##4) B(n##5) B(n##6) B(n##7) B(n##8) B(n##9)
 #define D(n) C(n##0) C(n##1) C(n##2) C(n##3) C(n##4) C(n##5) C(n##6) C(n##7) C(n##8) C(n##9)
 #define E(n) D(n##0) D(n##1) D(n##2) D(n##3) D(n##4) D(n##5) D(n##6) D(n##7) D(n##8) D(n##9)
 E(0) E(1) E(2) D(30) D(31) C(320) C(321) C(322) C(323) C(324) C(325)
 B(3260) B(3261) B(3262) B(3263) A(32640) A(32641) A(32642)
testcase with
./xgcc -B ./ -c -g -fpic -ffat-lto-objects -flto  -O0 -o foo1.o foo1.c -ffunction-sections
./xgcc -B ./ -shared -g -fpic -flto -O0 -o foo1.so foo1.o
/tmp/ccTW8mBm.debug.temp.o: file not recognized: file format not recognized
(testcase too slow to be included into testsuite).
The problem is clearly reported by readelf:
readelf: foo1.o.debug.temp.o: Warning: Section 2 has an out of range sh_link value of 65321
readelf: foo1.o.debug.temp.o: Warning: Section 5 has an out of range sh_link value of 65321
readelf: foo1.o.debug.temp.o: Warning: Section 10 has an out of range sh_link value of 65323
readelf: foo1.o.debug.temp.o: Warning: [ 2]: Link field (65321) should index a symtab section.
readelf: foo1.o.debug.temp.o: Warning: [ 5]: Link field (65321) should index a symtab section.
readelf: foo1.o.debug.temp.o: Warning: [10]: Link field (65323) should index a string section.
because simple_object_elf_copy_lto_debug_sections doesn't adjust sh_info and
sh_link fields in ElfNN_Shdr if they are in between SHN_{LO,HI}RESERVE
inclusive.  Not adjusting those is incorrect though, SHN_{LO,HI}RESERVE
range is only relevant to the 16-bit fields, mainly st_shndx in ElfNN_Sym
where if one needs >= SHN_LORESERVE section number, SHN_XINDEX should be
used instead and .symtab_shndx section should contain the real section
index, and in ElfNN_Ehdr e_shnum and e_shstrndx fields, where if >=
SHN_LORESERVE value is needed it should put those into
Shdr[0].sh_{size,link}.  But, sh_{link,info} are 32-bit fields which can
contain any section index.

Note, as simple-object-elf.c mentions, binutils from 2.12 to 2.18 (so before
2011) used to mishandle the > 63.75K sections case and assumed there is a
hole in between the sections, but what
simple_object_elf_copy_lto_debug_sections does wouldn't help in that case
for the debug temp object creation, we'd need to detect the case also in
that routine and take it into account in the remapping etc.  I think
it is not worth it given that it is over 10 years, if somebody needs
63.75K or more sections, better use more recent binutils.

2022-02-22  Jakub Jelinek  <jakub@redhat.com>

	PR lto/104617
	* simple-object-elf.c (simple_object_elf_match): Fix up URL
	in comment.
	(simple_object_elf_copy_lto_debug_sections): Remap sh_info and
	sh_link even if they are in the SHN_LORESERVE .. SHN_HIRESERVE
	range (inclusive).
2022-02-22 11:33:45 +01:00
GCC Administrator
0bdb049877 Daily bump. 2022-02-18 00:16:39 +00:00
Mark Wielaard
d3b2ead595 libiberty rust-demangle, ignore .suffix
Rust symbols can have a .suffix because of compiler transformations.
These can be ignored in the demangled name. Which is what this patch
implements. By stopping at the first dot for v0 symbols and searching
backwards to the ending 'E' for legacy symbols.

An alternative implementation could be to follow what C++ does and
represent these as [clone .suffix] tagged onto the demangled name.
But this seems somewhat confusing since it results in a demangled
name that cannot be mangled again. And it would mean trying to
decode compiler internal naming.

https://bugs.kde.org/show_bug.cgi?id=445916
https://github.com/rust-lang/rust/issues/60705

libiberty/Changelog

	* rust-demangle.c (rust_demangle_callback): Ignore everything
	after '.' char in sym for v0. For legacy symbols search
	backwards to find the last 'E' before any '.'.
	* testsuite/rust-demangle-expected: Add new .suffix testcases.
2022-02-17 18:06:24 +01:00
GCC Administrator
1bb5266257 Daily bump. 2022-02-01 00:16:29 +00:00
Nick Clifton
f10bec5ffa libiberty: Fix infinite recursion in rust demangler.
libiberty/
	PR demangler/98886
	PR demangler/99935
	* rust-demangle.c (struct rust_demangler): Add a recursion
	counter.
	(demangle_path): Increment/decrement the recursion counter upon
	entry and exit.  Fail if the counter exceeds a fixed limit.
	(demangle_type): Likewise.
	(rust_demangle_callback): Initialise the recursion counter,
	disabling if requested by the option flags.
2022-01-31 14:33:34 +00:00
GCC Administrator
9248ee4147 Daily bump. 2022-01-16 00:16:26 +00:00
Martin Sebor
671a283636 Add -Wuse-after-free [PR80532].
gcc/c-family/ChangeLog

	PR tree-optimization/80532
	* c.opt (-Wuse-after-free): New options.

gcc/ChangeLog:

	PR tree-optimization/80532
	* common.opt (-Wuse-after-free): New options.
	* diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
	OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
	* diagnostic-spec.h (NW_DANGLING): New enumerator.
	* doc/invoke.texi (-Wuse-after-free): Document new option.
	* gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
	(pass_waccess::check_call_access): ...to this.
	(pass_waccess::check): Rename...
	(pass_waccess::check_block): ...to this.
	(pass_waccess::check_pointer_uses): New function.
	(pass_waccess::gimple_call_return_arg): New function.
	(pass_waccess::warn_invalid_pointer): New function.
	(pass_waccess::check_builtin): Handle free and realloc.
	(gimple_use_after_inval_p): New function.
	(get_realloc_lhs): New function.
	(maybe_warn_mismatched_realloc): New function.
	(pointers_related_p): New function.
	(pass_waccess::check_call): Call check_pointer_uses.
	(pass_waccess::execute): Compute and free dominance info.

libcpp/ChangeLog:

	* files.c (_cpp_find_file): Substitute a valid pointer for
	an invalid one to avoid -Wuse-after-free.

libiberty/ChangeLog:

	* regex.c: Suppress -Wuse-after-free.

gcc/testsuite/ChangeLog:

	PR tree-optimization/80532
	* gcc.dg/Wmismatched-dealloc-2.c: Avoid -Wuse-after-free.
	* gcc.dg/Wmismatched-dealloc-3.c: Same.
	* gcc.dg/analyzer/file-1.c: Prune expected warning.
	* gcc.dg/analyzer/file-2.c: Same.
	* gcc.dg/attr-alloc_size-6.c: Disable -Wuse-after-free.
	* gcc.dg/attr-alloc_size-7.c: Same.
	* c-c++-common/Wuse-after-free-2.c: New test.
	* c-c++-common/Wuse-after-free-3.c: New test.
	* c-c++-common/Wuse-after-free-4.c: New test.
	* c-c++-common/Wuse-after-free-5.c: New test.
	* c-c++-common/Wuse-after-free-6.c: New test.
	* c-c++-common/Wuse-after-free-7.c: New test.
	* c-c++-common/Wuse-after-free.c: New test.
	* g++.dg/warn/Wmismatched-dealloc-3.C: New test.
	* g++.dg/warn/Wuse-after-free.C: New test.
2022-01-15 16:45:24 -07:00