https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107634
--- Comment #7 from Martin Liška <marxin at gcc dot gnu.org> --- So first to the original issue reported by David. Yes, the filenames were selected based on chapter's caption and thus some of them are very long. For gcc documentation, I'm suggesting following name scheme where the entire path since base folder (gcc/doc/gcc) should be at maximum 50 characters w/o .rst extension: ./binary-compatibility.rst ./c++-implementation-defined-behavior.rst c-behavior/architecture.rst c-behavior/arrays-and-pointers.rst c-behavior/characters.rst c-behavior/declarators.rst c-behavior/environment.rst c-behavior/floating-point.rst c-behavior/hints.rst c-behavior/identifiers.rst c-behavior/integers.rst c-behavior/library-functions.rst c-behavior/locale-specific-behavior.rst c-behavior/preprocessing-directives.rst c-behavior/qualifiers.rst c-behavior/statements.rst c-behavior/compount-types.rst c-behavior/translation.rst ./c-behavior.rst ./conditionally-supported-behavior.rst ./contributing.rst ./contributors.rst ./copyright.rst ./exception-handling.rst c++-extensions/backwards-compatibility.rst c++-extensions/c++-concepts.rst c++-extensions/interface-and-impl-pragmas.rst c++-extensions/var-and-type-attrs.rst c++-extensions/deprecated-features.rst c++-extensions/function-pointer.rst c++-extensions/function-multiversioning.rst c++-extensions/restricting-pointer-aliasing.rst c++-extensions/type-traits.rst c++-extensions/vague-linkage.rst c++-extensions/volatile.rst c++-extensions/wheres-the-template.rst ./c++-extensions.rst c-extensions/128-bit-integers.rst c-extensions/additional-floating-types.rst c-extensions/alternate-keywords.rst c-extensions/inline-function.rst c-extensions/void-fns-arithmetic.rst c-extensions/arrays-of-length-zero.rst c-extensions/arrays-of-variable-length.rst c-extensions/attribute-syntax.rst c-extensions/0b-prefix-arithmetic.rst c-extensions/memory-model-builtins.rst c-extensions/arithmetic-overflow-builtins.rst c-extensions/c++-style-comments.rst c-extensions/case-ranges.rst c-extensions/cast-to-a-union-type.rst c-extensions/complex-numbers.rst c-extensions/compound-literals.rst c-extensions/omitted-operands-conditionals.rst c-extensions/constructing-fn-calls.rst c-extensions/decimal-floating-types.rst c-extensions/function-attrs/aarch64.rst c-extensions/function-attrs/amd-gcn.rst c-extensions/function-attrs/arc.rst c-extensions/function-attrs/arm.rst c-extensions/function-attrs/avr.rst c-extensions/function-attrs/blackfin.rst c-extensions/function-attrs/bpf.rst c-extensions/function-attrs/c-sky.rst c-extensions/function-attrs/common.rst c-extensions/function-attrs/epiphany.rst c-extensions/function-attrs/h8-300.rst c-extensions/function-attrs/ia-64.rst c-extensions/function-attrs/m32c.rst c-extensions/function-attrs/m32r-d.rst c-extensions/function-attrs/m68k.rst c-extensions/function-attrs/mcore.rst c-extensions/function-attrs/mep.rst c-extensions/function-attrs/microblaze.rst c-extensions/function-attrs/microsoft-windows.rst c-extensions/function-attrs/mips.rst c-extensions/function-attrs/msp430.rst c-extensions/function-attrs/nds32.rst c-extensions/function-attrs/nios-ii.rst c-extensions/function-attrs/nvidia-ptx.rst c-extensions/function-attrs/powerpc.rst c-extensions/function-attrs/risc-v.rst c-extensions/function-attrs/rl78.rst c-extensions/function-attrs/rx.rst c-extensions/function-attrs/s-390.rst c-extensions/function-attrs/sh.rst c-extensions/function-attrs/symbian-os.rst c-extensions/function-attrs/v850.rst c-extensions/function-attrs/visium.rst c-extensions/function-attrs/x86.rst c-extensions/function-attrs/xstormy16.rst c-extensions/function-attrs.rst c-extensions/designated-initializers.rst c-extensions/fn-and-var-alignment.rst c-extensions/dollar-signs.rst c-extensions/double-word-integers.rst c-extensions/enumerator-attributes.rst c-extensions/fixed-point-types.rst c-extensions/target-format-checks.rst c-extensions/function-names-as-strings.rst c-extensions/fn-frame-address.rst c-extensions/half-precision-floating-point.rst c-extensions/hex-floats.rst c-extensions/inline-assembly.rst c-extensions/incomplete-enum-types.rst c-extensions/label-attributes.rst c-extensions/labels-as-values.rst c-extensions/legacy-memory-atomics.rst c-extensions/locally-declared-labels.rst c-extensions/variadic-macros.rst c-extensions/mixed-declarations-labels.rst c-extensions/named-address-spaces.rst c-extensions/nested-functions.rst c-extensions/non-constant-initializers.rst c-extensions/non-lvalue-arrays.rst c-extensions/nonlocal-gotos.rst c-extensions/object-size-builtins.rst c-extensions/other-fn-builtins.rst c-extensions/pointer-arg-in-var-fns.rst c-extensions/qualified-array-pointers.rst c-extensions/pragmas-accepted-by-gcc.rst c-extensions/prototypes-and-old-style-fns.rst c-extensions/typeof-reference.rst c-extensions/escaped-newlines-rules.rst c-extensions/type-attrs.rst c-extensions/var-attrs.rst c-extensions/statement-attributes.rst c-extensions/statements-decls-in-exprs.rst c-extensions/structures-with-no-members.rst c-extensions/support-for-offsetof.rst c-extensions/target-builtins/aarch64.rst c-extensions/target-builtins/alpha.rst c-extensions/target-builtins/altera-nios-ii.rst c-extensions/target-builtins/arc.rst c-extensions/target-builtins/arc-simd.rst c-extensions/target-builtins/arm-armv8-m-sec.rst c-extensions/target-builtins/arm-acle.rst c-extensions/target-builtins/arm-fp-and-control.rst c-extensions/target-builtins/arm-iwmmxt.rst c-extensions/target-builtins/avr.rst c-extensions/target-builtins/basic-powerpc.rst c-extensions/target-builtins/blackfin.rst c-extensions/target-builtins/bpf.rst c-extensions/target-builtins/fr-v.rst c-extensions/target-builtins/mips-dsp.rst c-extensions/target-builtins/mips-loongson.rst c-extensions/target-builtins/mips-paired-single.rst c-extensions/target-builtins/mips-msa.rst c-extensions/target-builtins/msp430.rst c-extensions/target-builtins/nds32.rst c-extensions/target-builtins/other-mips.rst c-extensions/target-builtins/picochip.rst c-extensions/target-builtins/powerpc-altivec-vsx.rst c-extensions/target-builtins/powerpc-atomics.rst c-extensions/target-builtins/powerpc-hardware-tm.rst c-extensions/target-builtins/powerpc-matrix.rst c-extensions/target-builtins/pru.rst c-extensions/target-builtins/risc-v.rst c-extensions/target-builtins/rx.rst c-extensions/target-builtins/s-390-system-z.rst c-extensions/target-builtins/sh.rst c-extensions/target-builtins/sparc-vis.rst c-extensions/target-builtins/ti-c6x.rst c-extensions/target-builtins/x86.rst c-extensions/target-builtins/x86-cfp.rst c-extensions/target-builtins/x86-tm.rst c-extensions/target-builtins.rst c-extensions/esc-in-constants.rst c-extensions/thread-local-storage.rst c-extensions/unnamed-fields.rst c-extensions/vector-builtins.rst c-extensions/volative-access.rst c-extensions/x86-tm-extensions.rst ./c-extensions.rst ./funding.rst options/c++-modules.rst options/compiling-c++-programs.rst options/description.rst options/env.rst options/gcc-developer-options.rst options/machine/aarch64.rst options/machine/adapteva-epiphany.rst options/machine/amd-gcn.rst options/machine/arc.rst options/machine/arm.rst options/machine/avr-mmcu.rst options/machine/avr.rst options/machine/blackfin.rst options/machine/c-sky.rst options/machine/c6x.rst options/machine/cris.rst options/machine/darwin.rst options/machine/dec-alpha.rst options/machine/ebpf.rst options/machine/fr30.rst options/machine/frv.rst options/machine/ft32.rst options/machine/gnu-linux.rst options/machine/h8-300.rst options/machine/hppa.rst options/machine/ia-64.rst options/machine/ibm-rs-6000.rst options/machine/lm32.rst options/machine/loongarch.rst options/machine/m32c.rst options/machine/m32r-d.rst options/machine/m680x0.rst options/machine/mcore.rst options/machine/mep.rst options/machine/microblaze.rst options/machine/mips.rst options/machine/mmix.rst options/machine/mn10300.rst options/machine/moxie.rst options/machine/msp430.rst options/machine/nds32.rst options/machine/nios-ii.rst options/machine/nvidia-ptx.rst options/machine/openrisc.rst options/machine/options-for-system-v.rst options/machine/pdp-11.rst options/machine/picochip.rst options/machine/powerpc.rst options/machine/pru.rst options/machine/risc-v.rst options/machine/rl78.rst options/machine/rx.rst options/machine/s-390-and-zseries.rst options/machine/score.rst options/machine/sh.rst options/machine/solaris-2.rst options/machine/sparc.rst options/machine/v850.rst options/machine/vax.rst options/machine/visium.rst options/machine/vms.rst options/machine/vxworks.rst options/machine/x86.rst options/machine/x86-windows.rst options/machine/xstormy16.rst options/machine/xtensa.rst options/machine/zseries.rst options/machine.rst options/summary.rst options/c++.rst options/c.rst options/c-c++.rst options/output.rst options/preprocessor.rst options/code-generation.rst options/debugging.rst options/directory-search.rst options/linking.rst options/optimizations.rst options/analyzer.rst options/messages-formatting.rst options/warnings.rst options/assembler.rst options/pgo.rst options/subprocesses.rst options/precompiled-headers.rst ./options.rst ./gcc.rst gcov/gcov-data-format.rst gcov/cross-profiling.rst gcov/introduction.rst gcov/invoking.rst gcov/freestanding-environments.rst gcov/optimization.rst ./gcov-dump.rst ./gcov-tool.rst ./gcov.rst ./general-public-license-3.rst ./gnu-free-documentation-license.rst objc-features/compatibilityalias.rst objc-features/constant-string-objects.rst objc-features/exceptions.rst objc-features/fast-enumeration.rst objc-features/garbage-collection.rst objc-features/runtime-api.rst objc-features/code-before-main.rst objc-features/messaging-with-runtime.rst objc-features/synchronization.rst objc-features/type-encoding.rst ./objc-features.rst ./gnu.rst ./found-bug.rst ./bug-reporting.rst ./get-help.rst ./index.rst ./indices-and-tables.rst known-trouble/bugs.rst known-trouble/certain-changes.rst known-trouble/gnuc-misunderstandings.rst known-trouble/disappointments.rst known-trouble/fixed-header-files.rst known-trouble/incompatibilities.rst known-trouble/interoperation.rst known-trouble/standard-libraries.rst known-trouble/warnings-errors.rst ./known-trouble.rst standards/c++.rst standards/c.rst standards/d.rst standards/go.rst standards/objc-objc++.rst standards/other.rst ./standards.rst ./lto-dump.rst ./supported-languages.rst ./reporting-bugs.rst Thoughs?