This series of patches attempts to bring some organization to the current random order of topics within the "C Extensions" chapter of the manual. It's broken up into pieces for easier reviewing (should anybody care to do that), but there's little in the way of actual text changes to review; the entire set just moves sections around so that the new top-level organization of the chapter looks like
@menu * Additional Numeric Types:: Additional sizes and formats, plus complex numbers. * Aggregate Types:: Extensions to arrays, structs, and unions. * Named Address Spaces::Named address spaces. * Function Attributes:: Declaring that functions have no side effects, or that they can never return. * Variable Attributes:: Specifying attributes of variables. * Type Attributes:: Specifying attributes of types. * Label Attributes:: Specifying attributes on labels. * Enumerator Attributes:: Specifying attributes on enumerators. * Statement Attributes:: Specifying attributes on statements. * Attribute Syntax:: Formal syntax for attributes. * Pragmas:: Pragmas accepted by GCC. * Thread-Local:: Per-thread variables. * OpenMP:: Multiprocessing extensions. * OpenACC:: Extensions for offloading code to accelerator devices. * Inline:: Defining inline functions (as fast as macros). * Volatiles:: What constitutes an access to a volatile object. * Using Assembly Language with C:: Instructions and extensions for interfacing C with assembler. * Syntax Extensions:: Other extensions to C syntax. * Semantic Extensions:: GNU C defines behavior for some non-standard constructs. * Nonlocal Gotos:: Built-ins for nonlocal gotos. * Constructing Calls:: Built-ins for dispatching a call to another function. * Return Address:: Getting the return or frame address of a function. * Stack Scrubbing:: Stack scrubbing internal interfaces. * Vector Extensions:: Using vector instructions through built-in functions. * __sync Builtins:: Legacy built-in functions for atomic memory access. * __atomic Builtins:: Atomic built-in functions with memory model. * Integer Overflow Builtins:: Built-in functions to perform arithmetics and arithmetic overflow checking. * x86 specific memory model extensions for transactional memory:: x86 memory models. * Object Size Checking:: Built-in functions for limited buffer overflow checking. * New/Delete Builtins:: Built-in functions for C++ allocations and deallocations. * Other Builtins:: Other built-in functions. * Target Builtins:: Built-in functions specific to particular targets. * Target Format Checks:: Format checks specific to particular targets. @end menu I was intending to add another level of sectioning around both the attribute-related sections and the builtin-related sections, but I realized I'd run up against a limitation of Texinfo: its sectioning commands only go as far down as @subsubsection, and there are already a bunch of those in those sections, so I could not demote them further as @subsubsubsection. The only idea I had for a workaround was to make them @subsubheadings, which can go anywhere but are not numbered and do not appear in the table of contents. Does anybody have strong feelings about this? I'm also open to arguments if you think I mis-categorized some things, don't like the new section ordering, etc. I'll hold off on committing this until next week in case anybody wants to comment on it, anyway. -Sandra Sandra Loosemore (4): Doc: Add "Additional Numeric Types" sectioning to extend.texi [PR42270] Doc: Add "Aggregate Types" sectioning to extend.texi [PR42270] Doc: Add "Syntax Extensions" and "Semantic Extensions" sectioning to extend.texi [PR42270] Doc: Rearrange remaining top-level sections in extend.texi [PR42270] gcc/doc/extend.texi | 6119 ++++++++++++++++++++++--------------------- 1 file changed, 3082 insertions(+), 3037 deletions(-) -- 2.34.1