https://gcc.gnu.org/g:997c9be5553a32b1fb787b496c3e38f9a4446d1e
commit r16-7683-g997c9be5553a32b1fb787b496c3e38f9a4446d1e Author: Sandra Loosemore <[email protected]> Date: Sat Feb 21 01:04:14 2026 +0000 doc: Fix the attribute urlifier after changes to indexing [PR88472] Recent patches to the GCC manual have merged previously-separate sections for function, variable, type, and statement attributes, and created a separate index for attributes instead of putting them in the concept index. This reorganization broke the attribute URLifier and its self-tests. I've fixed it up and regenerated attr-urls.def. gcc/ChangeLog PR other/88472 * Makefile.in (ATTR_URLS_HTML_DEPS): Point at new index file. * attr-urls.def: Regenerated. * gcc-attribute-urlifier.cc (test_attribute_urlifier): Adjust URLs to match formatting in the new index. * regenerate-attr-urls.py (parse_html_line_attribute_index): Update pattern to match formatting in the new combined index. Don't segregate entries into separate function/variable/etc arrays. (INDEX_REL_PATH): Point at the new index file. (class TestParsingIndex): Update patterns in self-tests to match the current formatting. Diff: --- gcc/Makefile.in | 2 +- gcc/attr-urls.def | 661 ++++++++++++++++++------------------------ gcc/gcc-attribute-urlifier.cc | 37 +-- gcc/regenerate-attr-urls.py | 75 ++--- 4 files changed, 339 insertions(+), 436 deletions(-) diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 9e8da255186a..81c5045e326a 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -3938,7 +3938,7 @@ regenerate-opt-urls-unit-test: $(OPT_URLS_HTML_DEPS) # Regenerate attr-urls.def from the generated html. .PHONY: regenerate-attr-urls -ATTR_URLS_HTML_DEPS = $(build_htmldir)/gcc/Concept-and-Symbol-Index.html +ATTR_URLS_HTML_DEPS = $(build_htmldir)/gcc/Attribute-Index.html regenerate-attr-urls: $(srcdir)/regenerate-attr-urls.py $(ATTR_URLS_HTML_DEPS) $(srcdir)/regenerate-attr-urls.py $(build_htmldir) $(shell dirname $(srcdir)) diff --git a/gcc/attr-urls.def b/gcc/attr-urls.def index 0d27400d218a..c75030793b9c 100644 --- a/gcc/attr-urls.def +++ b/gcc/attr-urls.def @@ -1,384 +1,295 @@ /* Autogenerated by regenerate-attr-urls.py. */ -const attr_url_entry enumerator_attrs[] = { - { "deprecated", "gcc/Enumerator-Attributes.html#index-deprecated-enumerator-attribute", "", 10}, - { "unavailable", "gcc/Enumerator-Attributes.html#index-unavailable-enumerator-attribute", "", 11}, -}; - -const attr_url_entry function_attrs[] = { - { "OS_main", "gcc/AVR-Function-Attributes.html#index-OS_005fmain-function-attribute_002c-AVR", "AVR", 7}, - { "OS_task", "gcc/AVR-Function-Attributes.html#index-OS_005ftask-function-attribute_002c-AVR", "AVR", 7}, - { "abi_tag", "gcc/C_002b_002b-Attributes.html#index-abi_005ftag-function-attribute", "", 7}, - { "access", "gcc/Common-Function-Attributes.html#index-access-function-attribute", "", 6}, - { "alias", "gcc/Common-Function-Attributes.html#index-alias-function-attribute", "", 5}, - { "aligned", "gcc/Common-Function-Attributes.html#index-aligned-function-attribute", "", 7}, - { "alloc_align", "gcc/Common-Function-Attributes.html#index-alloc_005falign-function-attribute", "", 11}, - { "alloc_size", "gcc/Common-Function-Attributes.html#index-alloc_005fsize-function-attribute", "", 10}, - { "always_inline", "gcc/Common-Function-Attributes.html#index-always_005finline-function-attribute", "", 13}, - { "amdgpu_hsa_kernel", "gcc/AMD-GCN-Function-Attributes.html#index-amdgpu_005fhsa_005fkernel-function-attribute_002c-AMD-GCN", "AMD GCN", 17}, - { "arch=", "gcc/AArch64-Function-Attributes.html#index-arch_003d-function-attribute_002c-AArch64", "AArch64", 5}, - { "arch=", "gcc/ARM-Function-Attributes.html#index-arch_003d-function-attribute_002c-ARM", "ARM", 5}, - { "arch=", "gcc/LoongArch-Function-Attributes.html#index-arch_003d-function-attribute_002c-LoongArch", "LoongArch", 5}, - { "arch=", "gcc/RISC-V-Function-Attributes.html#index-arch_003d-function-attribute_002c-RISC-V", "RISC-V", 5}, - { "artificial", "gcc/Common-Function-Attributes.html#index-artificial-function-attribute", "", 10}, - { "assume_aligned", "gcc/Common-Function-Attributes.html#index-assume_005faligned-function-attribute", "", 14}, - { "bank_switch", "gcc/M32C-Function-Attributes.html#index-bank_005fswitch-function-attribute_002c-M32C", "M32C", 11}, - { "branch-protection", "gcc/AArch64-Function-Attributes.html#index-branch-protection-function-attribute_002c-AArch64", "AArch64", 17}, - { "break_handler", "gcc/MicroBlaze-Function-Attributes.html#index-break_005fhandler-function-attribute_002c-MicroBlaze", "MicroBlaze", 13}, - { "brk_interrupt", "gcc/RL78-Function-Attributes.html#index-brk_005finterrupt-function-attribute_002c-RL78", "RL78", 13}, - { "callee_pop_aggregate_return", "gcc/x86-Function-Attributes.html#index-callee_005fpop_005faggregate_005freturn-function-attribute_002c-x86", "x86", 27}, - { "cdecl", "gcc/x86-Function-Attributes.html#index-cdecl-function-attribute_002c-x86-32", "x86-32", 5}, - { "cf_check", "gcc/x86-Function-Attributes.html#index-cf_005fcheck-function-attribute_002c-x86", "x86", 8}, - { "cmodel=", "gcc/AArch64-Function-Attributes.html#index-cmodel_003d-function-attribute_002c-AArch64", "AArch64", 7}, - { "cmodel=", "gcc/LoongArch-Function-Attributes.html#index-cmodel_003d-function-attribute_002c-LoongArch", "LoongArch", 7}, - { "code_readable", "gcc/MIPS-Function-Attributes.html#index-code_005freadable-function-attribute_002c-MIPS", "MIPS", 13}, - { "cold", "gcc/Common-Function-Attributes.html#index-cold-function-attribute", "", 4}, - { "const", "gcc/Common-Function-Attributes.html#index-const-function-attribute", "", 5}, - { "constructor", "gcc/Common-Function-Attributes.html#index-constructor-function-attribute", "", 11}, - { "copy", "gcc/Common-Function-Attributes.html#index-copy-function-attribute", "", 4}, - { "cpu=", "gcc/AArch64-Function-Attributes.html#index-cpu_003d-function-attribute_002c-AArch64", "AArch64", 4}, - { "cpu=", "gcc/RISC-V-Function-Attributes.html#index-cpu_003d-function-attribute_002c-RISC-V", "RISC-V", 4}, - { "critical", "gcc/MSP430-Function-Attributes.html#index-critical-function-attribute_002c-MSP430", "MSP430", 8}, - { "deprecated", "gcc/Common-Function-Attributes.html#index-deprecated-function-attribute", "", 10}, - { "destructor", "gcc/Common-Function-Attributes.html#index-destructor-function-attribute", "", 10}, - { "disinterrupt", "gcc/Epiphany-Function-Attributes.html#index-disinterrupt-function-attribute_002c-Epiphany", "Epiphany", 12}, - { "dllexport", "gcc/Microsoft-Windows-Function-Attributes.html#index-dllexport-function-attribute", "", 9}, - { "dllimport", "gcc/Microsoft-Windows-Function-Attributes.html#index-dllimport-function-attribute", "", 9}, - { "either", "gcc/MSP430-Function-Attributes.html#index-either-function-attribute_002c-MSP430", "MSP430", 6}, - { "error", "gcc/Common-Function-Attributes.html#index-error-function-attribute", "", 5}, - { "exception", "gcc/NDS32-Function-Attributes.html#index-exception-function-attribute", "", 9}, - { "exception_handler", "gcc/Blackfin-Function-Attributes.html#index-exception_005fhandler-function-attribute", "", 17}, - { "expected_throw", "gcc/Common-Function-Attributes.html#index-expected_005fthrow-function-attribute", "", 14}, - { "externally_visible", "gcc/Common-Function-Attributes.html#index-externally_005fvisible-function-attribute", "", 18}, - { "far", "gcc/MIPS-Function-Attributes.html#index-far-function-attribute_002c-MIPS", "MIPS", 3}, - { "fast_interrupt", "gcc/M32C-Function-Attributes.html#index-fast_005finterrupt-function-attribute_002c-M32C", "M32C", 14}, - { "fast_interrupt", "gcc/MicroBlaze-Function-Attributes.html#index-fast_005finterrupt-function-attribute_002c-MicroBlaze", "MicroBlaze", 14}, - { "fast_interrupt", "gcc/RX-Function-Attributes.html#index-fast_005finterrupt-function-attribute_002c-RX", "RX", 14}, - { "fastcall", "gcc/x86-Function-Attributes.html#index-fastcall-function-attribute_002c-x86-32", "x86-32", 8}, - { "fd_arg", "gcc/Common-Function-Attributes.html#index-fd_005farg-function-attribute", "", 6}, - { "fd_arg_read", "gcc/Common-Function-Attributes.html#index-fd_005farg_005fread-function-attribute", "", 11}, - { "fd_arg_write", "gcc/Common-Function-Attributes.html#index-fd_005farg_005fwrite-function-attribute", "", 12}, - { "fentry_name", "gcc/x86-Function-Attributes.html#index-fentry_005fname-function-attribute_002c-x86", "x86", 11}, - { "fentry_section", "gcc/x86-Function-Attributes.html#index-fentry_005fsection-function-attribute_002c-x86", "x86", 14}, - { "fix-cortex-a53-835769", "gcc/AArch64-Function-Attributes.html#index-fix-cortex-a53-835769-function-attribute_002c-AArch64", "AArch64", 21}, - { "flatten", "gcc/Common-Function-Attributes.html#index-flatten-function-attribute", "", 7}, - { "force_align_arg_pointer", "gcc/x86-Function-Attributes.html#index-force_005falign_005farg_005fpointer-function-attribute_002c-x86", "x86", 23}, - { "format", "gcc/Common-Function-Attributes.html#index-format-function-attribute", "", 6}, - { "format_arg", "gcc/Common-Function-Attributes.html#index-format_005farg-function-attribute", "", 10}, - { "forwarder_section", "gcc/Epiphany-Function-Attributes.html#index-forwarder_005fsection-function-attribute_002c-Epiphany", "Epiphany", 17}, - { "function_return", "gcc/x86-Function-Attributes.html#index-function_005freturn-function-attribute_002c-x86", "x86", 15}, - { "function_vector", "gcc/H8_002f300-Function-Attributes.html#index-function_005fvector-function-attribute_002c-H8_002f300", "H8/300", 15}, - { "function_vector", "gcc/M32C-Function-Attributes.html#index-function_005fvector-function-attribute_002c-M16C_002fM32C", "M16C/M32C", 15}, - { "function_vector", "gcc/SH-Function-Attributes.html#index-function_005fvector-function-attribute_002c-SH", "SH", 15}, - { "general-regs-only", "gcc/AArch64-Function-Attributes.html#index-general-regs-only-function-attribute_002c-AArch64", "AArch64", 17}, - { "general-regs-only", "gcc/ARM-Function-Attributes.html#index-general-regs-only-function-attribute_002c-ARM", "ARM", 17}, - { "gnu_inline", "gcc/Common-Function-Attributes.html#index-gnu_005finline-function-attribute", "", 10}, - { "hot", "gcc/Common-Function-Attributes.html#index-hot-function-attribute", "", 3}, - { "hotpatch", "gcc/S_002f390-Function-Attributes.html#index-hotpatch-function-attribute_002c-S_002f390", "S/390", 8}, - { "ifunc", "gcc/Common-Function-Attributes.html#index-ifunc-function-attribute", "", 5}, - { "indirect_branch", "gcc/x86-Function-Attributes.html#index-indirect_005fbranch-function-attribute_002c-x86", "x86", 15}, - { "indirect_return", "gcc/AArch64-Function-Attributes.html#index-indirect_005freturn-function-attribute_002c-AArch64", "AArch64", 15}, - { "indirect_return", "gcc/x86-Function-Attributes.html#index-indirect_005freturn-function-attribute_002c-x86", "x86", 15}, - { "interrupt", "gcc/ARC-Function-Attributes.html#index-interrupt-function-attribute_002c-ARC", "ARC", 9}, - { "interrupt", "gcc/ARM-Function-Attributes.html#index-interrupt-function-attribute_002c-ARM", "ARM", 9}, - { "interrupt", "gcc/AVR-Function-Attributes.html#index-interrupt-function-attribute_002c-AVR", "AVR", 9}, - { "interrupt", "gcc/C-SKY-Function-Attributes.html#index-interrupt-function-attribute_002c-C-SKY", "C-SKY", 9}, - { "interrupt", "gcc/Common-Function-Attributes.html#index-interrupt-function-attribute", "", 9}, - { "interrupt", "gcc/Epiphany-Function-Attributes.html#index-interrupt-function-attribute_002c-Epiphany", "Epiphany", 9}, - { "interrupt", "gcc/M32C-Function-Attributes.html#index-interrupt-function-attribute_002c-M32C", "M32C", 9}, - { "interrupt", "gcc/M32R_002fD-Function-Attributes.html#index-interrupt-function-attribute_002c-M32R_002fD", "M32R/D", 9}, - { "interrupt", "gcc/MIPS-Function-Attributes.html#index-interrupt-function-attribute_002c-MIPS", "MIPS", 9}, - { "interrupt", "gcc/MSP430-Function-Attributes.html#index-interrupt-function-attribute_002c-MSP430", "MSP430", 9}, - { "interrupt", "gcc/NDS32-Function-Attributes.html#index-interrupt-function-attribute_002c-NDS32", "NDS32", 9}, - { "interrupt", "gcc/RISC-V-Function-Attributes.html#index-interrupt-function-attribute_002c-RISC-V", "RISC-V", 9}, - { "interrupt", "gcc/RL78-Function-Attributes.html#index-interrupt-function-attribute_002c-RL78", "RL78", 9}, - { "interrupt", "gcc/RX-Function-Attributes.html#index-interrupt-function-attribute_002c-RX", "RX", 9}, - { "interrupt", "gcc/V850-Function-Attributes.html#index-interrupt-function-attribute_002c-V850", "V850", 9}, - { "interrupt", "gcc/Visium-Function-Attributes.html#index-interrupt-function-attribute_002c-Visium", "Visium", 9}, - { "interrupt", "gcc/Xstormy16-Function-Attributes.html#index-interrupt-function-attribute_002c-Xstormy16", "Xstormy16", 9}, - { "interrupt", "gcc/m68k-Function-Attributes.html#index-interrupt-function-attribute_002c-m68k", "m68k", 9}, - { "interrupt", "gcc/x86-Function-Attributes.html#index-interrupt-function-attribute_002c-x86", "x86", 9}, - { "interrupt_handler", "gcc/Blackfin-Function-Attributes.html#index-interrupt_005fhandler-function-attribute_002c-Blackfin", "Blackfin", 17}, - { "interrupt_handler", "gcc/Common-Function-Attributes.html#index-interrupt_005fhandler-function-attribute", "", 17}, - { "interrupt_handler", "gcc/H8_002f300-Function-Attributes.html#index-interrupt_005fhandler-function-attribute_002c-H8_002f300", "H8/300", 17}, - { "interrupt_handler", "gcc/MicroBlaze-Function-Attributes.html#index-interrupt_005fhandler-function-attribute_002c-MicroBlaze", "MicroBlaze", 17}, - { "interrupt_handler", "gcc/SH-Function-Attributes.html#index-interrupt_005fhandler-function-attribute_002c-SH", "SH", 17}, - { "interrupt_handler", "gcc/V850-Function-Attributes.html#index-interrupt_005fhandler-function-attribute_002c-V850", "V850", 17}, - { "interrupt_handler", "gcc/m68k-Function-Attributes.html#index-interrupt_005fhandler-function-attribute_002c-m68k", "m68k", 17}, - { "interrupt_thread", "gcc/m68k-Function-Attributes.html#index-interrupt_005fthread-function-attribute_002c-fido", "fido", 16}, - { "isr", "gcc/ARM-Function-Attributes.html#index-isr-function-attribute_002c-ARM", "ARM", 3}, - { "isr", "gcc/C-SKY-Function-Attributes.html#index-isr-function-attribute_002c-C-SKY", "C-SKY", 3}, - { "jli_always", "gcc/ARC-Function-Attributes.html#index-jli_005falways-function-attribute_002c-ARC", "ARC", 10}, - { "jli_fixed", "gcc/ARC-Function-Attributes.html#index-jli_005ffixed-function-attribute_002c-ARC", "ARC", 9}, - { "keep_interrupts_masked", "gcc/MIPS-Function-Attributes.html#index-keep_005finterrupts_005fmasked-function-attribute_002c-MIPS", "MIPS", 22}, - { "kernel", "gcc/Nvidia-PTX-Function-Attributes.html#index-kernel-function-attribute_002c-Nvidia-PTX", "Nvidia PTX", 6}, - { "kspisusp", "gcc/Blackfin-Function-Attributes.html#index-kspisusp-function-attribute_002c-Blackfin", "Blackfin", 8}, - { "l1_text", "gcc/Blackfin-Function-Attributes.html#index-l1_005ftext-function-attribute_002c-Blackfin", "Blackfin", 7}, - { "l2", "gcc/Blackfin-Function-Attributes.html#index-l2-function-attribute_002c-Blackfin", "Blackfin", 2}, - { "lasx", "gcc/LoongArch-Function-Attributes.html#index-lasx-function-attribute_002c-LoongArch", "LoongArch", 4}, - { "leaf", "gcc/Common-Function-Attributes.html#index-leaf-function-attribute", "", 4}, - { "long_call", "gcc/ARC-Function-Attributes.html#index-long_005fcall-function-attribute_002c-ARC", "ARC", 9}, - { "long_call", "gcc/ARM-Function-Attributes.html#index-long_005fcall-function-attribute_002c-ARM", "ARM", 9}, - { "long_call", "gcc/Epiphany-Function-Attributes.html#index-long_005fcall-function-attribute_002c-Epiphany", "Epiphany", 9}, - { "long_call", "gcc/MIPS-Function-Attributes.html#index-long_005fcall-function-attribute_002c-MIPS", "MIPS", 9}, - { "longcall", "gcc/Blackfin-Function-Attributes.html#index-longcall-function-attribute_002c-Blackfin", "Blackfin", 8}, - { "longcall", "gcc/PowerPC-Function-Attributes.html#index-longcall-function-attribute_002c-PowerPC", "PowerPC", 8}, - { "lower", "gcc/MSP430-Function-Attributes.html#index-lower-function-attribute_002c-MSP430", "MSP430", 5}, - { "lsx", "gcc/LoongArch-Function-Attributes.html#index-lsx-function-attribute_002c-LoongArch", "LoongArch", 3}, - { "malloc", "gcc/Common-Function-Attributes.html#index-malloc-function-attribute", "", 6}, - { "medium_call", "gcc/ARC-Function-Attributes.html#index-medium_005fcall-function-attribute_002c-ARC", "ARC", 11}, - { "micromips", "gcc/MIPS-Function-Attributes.html#index-micromips-function-attribute", "", 9}, - { "mips16", "gcc/MIPS-Function-Attributes.html#index-mips16-function-attribute_002c-MIPS", "MIPS", 6}, - { "model", "gcc/M32R_002fD-Function-Attributes.html#index-model-function-attribute_002c-M32R_002fD", "M32R/D", 5}, - { "ms_abi", "gcc/x86-Function-Attributes.html#index-ms_005fabi-function-attribute_002c-x86", "x86", 6}, - { "ms_hook_prologue", "gcc/x86-Function-Attributes.html#index-ms_005fhook_005fprologue-function-attribute_002c-x86", "x86", 16}, - { "naked", "gcc/ARC-Function-Attributes.html#index-naked-function-attribute_002c-ARC", "ARC", 5}, - { "naked", "gcc/ARM-Function-Attributes.html#index-naked-function-attribute_002c-ARM", "ARM", 5}, - { "naked", "gcc/AVR-Function-Attributes.html#index-naked-function-attribute_002c-AVR", "AVR", 5}, - { "naked", "gcc/BPF-Function-Attributes.html#index-naked-function-attribute_002c-BPF", "BPF", 5}, - { "naked", "gcc/C-SKY-Function-Attributes.html#index-naked-function-attribute_002c-C-SKY", "C-SKY", 5}, - { "naked", "gcc/MCORE-Function-Attributes.html#index-naked-function-attribute_002c-MCORE", "MCORE", 5}, - { "naked", "gcc/MSP430-Function-Attributes.html#index-naked-function-attribute_002c-MSP430", "MSP430", 5}, - { "naked", "gcc/NDS32-Function-Attributes.html#index-naked-function-attribute_002c-NDS32", "NDS32", 5}, - { "naked", "gcc/RISC-V-Function-Attributes.html#index-naked-function-attribute_002c-RISC-V", "RISC-V", 5}, - { "naked", "gcc/RL78-Function-Attributes.html#index-naked-function-attribute_002c-RL78", "RL78", 5}, - { "naked", "gcc/RX-Function-Attributes.html#index-naked-function-attribute_002c-RX", "RX", 5}, - { "naked", "gcc/x86-Function-Attributes.html#index-naked-function-attribute_002c-x86", "x86", 5}, - { "near", "gcc/MIPS-Function-Attributes.html#index-near-function-attribute_002c-MIPS", "MIPS", 4}, - { "nested", "gcc/NDS32-Function-Attributes.html#index-nested-function-attribute_002c-NDS32", "NDS32", 6}, - { "nested_ready", "gcc/NDS32-Function-Attributes.html#index-nested_005fready-function-attribute_002c-NDS32", "NDS32", 12}, - { "nesting", "gcc/Blackfin-Function-Attributes.html#index-nesting-function-attribute_002c-Blackfin", "Blackfin", 7}, - { "nmi", "gcc/NDS32-Function-Attributes.html#index-nmi-function-attribute_002c-NDS32", "NDS32", 3}, - { "nmi_handler", "gcc/Blackfin-Function-Attributes.html#index-nmi_005fhandler-function-attribute_002c-Blackfin", "Blackfin", 11}, - { "no_callee_saved_registers", "gcc/x86-Function-Attributes.html#index-no_005fcallee_005fsaved_005fregisters-function-attribute_002c-x86", "x86", 25}, - { "no_caller_saved_registers", "gcc/x86-Function-Attributes.html#index-no_005fcaller_005fsaved_005fregisters-function-attribute_002c-x86", "x86", 25}, - { "no_dangling", "gcc/C_002b_002b-Attributes.html#index-no_005fdangling-function-attribute", "", 11}, - { "no_gccisr", "gcc/AVR-Function-Attributes.html#index-no_005fgccisr-function-attribute_002c-AVR", "AVR", 9}, - { "no_icf", "gcc/Common-Function-Attributes.html#index-no_005ficf-function-attribute", "", 6}, - { "no_instrument_function", "gcc/Common-Function-Attributes.html#index-no_005finstrument_005ffunction-function-attribute", "", 22}, - { "no_profile_instrument_function", "gcc/Common-Function-Attributes.html#index-no_005fprofile_005finstrument_005ffunction-function-attribute", "", 30}, - { "no_reorder", "gcc/Common-Function-Attributes.html#index-no_005freorder-function-attribute", "", 10}, - { "no_sanitize", "gcc/Common-Function-Attributes.html#index-no_005fsanitize-function-attribute", "", 11}, - { "no_sanitize_address", "gcc/Common-Function-Attributes.html#index-no_005fsanitize_005faddress-function-attribute", "", 19}, - { "no_sanitize_coverage", "gcc/Common-Function-Attributes.html#index-no_005fsanitize_005fcoverage-function-attribute", "", 20}, - { "no_sanitize_thread", "gcc/Common-Function-Attributes.html#index-no_005fsanitize_005fthread-function-attribute", "", 18}, - { "no_sanitize_undefined", "gcc/Common-Function-Attributes.html#index-no_005fsanitize_005fundefined-function-attribute", "", 21}, - { "no_split_stack", "gcc/Common-Function-Attributes.html#index-no_005fsplit_005fstack-function-attribute", "", 14}, - { "no_stack_limit", "gcc/Common-Function-Attributes.html#index-no_005fstack_005flimit-function-attribute", "", 14}, - { "no_stack_protector", "gcc/Common-Function-Attributes.html#index-no_005fstack_005fprotector-function-attribute", "", 18}, - { "noblock", "gcc/AVR-Function-Attributes.html#index-noblock-function-attribute_002c-AVR", "AVR", 7}, - { "nocf_check", "gcc/x86-Function-Attributes.html#index-nocf_005fcheck-function-attribute", "", 10}, - { "noclone", "gcc/Common-Function-Attributes.html#index-noclone-function-attribute", "", 7}, - { "nocompression", "gcc/MIPS-Function-Attributes.html#index-nocompression-function-attribute_002c-MIPS", "MIPS", 13}, - { "nodirect_extern_access", "gcc/x86-Function-Attributes.html#index-nodirect_005fextern_005faccess-function-attribute", "", 22}, - { "noinline", "gcc/Common-Function-Attributes.html#index-noinline-function-attribute", "", 8}, - { "noipa", "gcc/Common-Function-Attributes.html#index-noipa-function-attribute", "", 5}, - { "nomicromips", "gcc/MIPS-Function-Attributes.html#index-nomicromips-function-attribute", "", 11}, - { "nomips16", "gcc/MIPS-Function-Attributes.html#index-nomips16-function-attribute_002c-MIPS", "MIPS", 8}, - { "nonnull", "gcc/Common-Function-Attributes.html#index-nonnull-function-attribute", "", 7}, - { "nonnull_if_nonzero", "gcc/Common-Function-Attributes.html#index-nonnull_005fif_005fnonzero-function-attribute", "", 18}, - { "noplt", "gcc/Common-Function-Attributes.html#index-noplt-function-attribute", "", 5}, - { "noreturn", "gcc/Common-Function-Attributes.html#index-noreturn-function-attribute", "", 8}, - { "nosave_low_regs", "gcc/SH-Function-Attributes.html#index-nosave_005flow_005fregs-function-attribute_002c-SH", "SH", 15}, - { "not_nested", "gcc/NDS32-Function-Attributes.html#index-not_005fnested-function-attribute_002c-NDS32", "NDS32", 10}, - { "nothrow", "gcc/Common-Function-Attributes.html#index-nothrow-function-attribute", "", 7}, - { "null_terminated_string_arg", "gcc/Common-Function-Attributes.html#index-null_005fterminated_005fstring_005farg-function-attribute", "", 26}, - { "omit-leaf-frame-pointer", "gcc/AArch64-Function-Attributes.html#index-omit-leaf-frame-pointer-function-attribute_002c-AArch64", "AArch64", 23}, - { "optimize", "gcc/Common-Function-Attributes.html#index-optimize-function-attribute", "", 8}, - { "outline-atomics", "gcc/AArch64-Function-Attributes.html#index-outline-atomics-function-attribute_002c-AArch64", "AArch64", 15}, - { "partial_save", "gcc/NDS32-Function-Attributes.html#index-partial_005fsave-function-attribute_002c-NDS32", "NDS32", 12}, - { "patchable_function_entry", "gcc/Common-Function-Attributes.html#index-patchable_005ffunction_005fentry-function-attribute", "", 24}, - { "pcs", "gcc/ARM-Function-Attributes.html#index-pcs-function-attribute_002c-ARM", "ARM", 3}, - { "prefer-vector-width", "gcc/x86-Function-Attributes.html#index-prefer-vector-width-function-attribute_002c-x86", "x86", 19}, - { "pure", "gcc/Common-Function-Attributes.html#index-pure-function-attribute", "", 4}, - { "reentrant", "gcc/MSP430-Function-Attributes.html#index-reentrant-function-attribute_002c-MSP430", "MSP430", 9}, - { "regparm", "gcc/x86-Function-Attributes.html#index-regparm-function-attribute_002c-x86", "x86", 7}, - { "renesas", "gcc/SH-Function-Attributes.html#index-renesas-function-attribute_002c-SH", "SH", 7}, - { "resbank", "gcc/SH-Function-Attributes.html#index-resbank-function-attribute_002c-SH", "SH", 7}, - { "reset", "gcc/NDS32-Function-Attributes.html#index-reset-function-attribute_002c-NDS32", "NDS32", 5}, - { "retain", "gcc/Common-Function-Attributes.html#index-retain-function-attribute", "", 6}, - { "returns_nonnull", "gcc/Common-Function-Attributes.html#index-returns_005fnonnull-function-attribute", "", 15}, - { "returns_twice", "gcc/Common-Function-Attributes.html#index-returns_005ftwice-function-attribute", "", 13}, - { "riscv_vector_cc", "gcc/RISC-V-Function-Attributes.html#index-riscv_005fvector_005fcc-function-attribute_002c-RISC-V", "RISC-V", 15}, - { "save_all", "gcc/NDS32-Function-Attributes.html#index-save_005fall-function-attribute_002c-NDS32", "NDS32", 8}, - { "save_volatiles", "gcc/MicroBlaze-Function-Attributes.html#index-save_005fvolatiles-function-attribute_002c-MicroBlaze", "MicroBlaze", 14}, - { "saveall", "gcc/Blackfin-Function-Attributes.html#index-saveall-function-attribute_002c-Blackfin", "Blackfin", 7}, - { "saveall", "gcc/H8_002f300-Function-Attributes.html#index-saveall-function-attribute_002c-H8_002f300", "H8/300", 7}, - { "section", "gcc/Common-Function-Attributes.html#index-section-function-attribute", "", 7}, - { "secure_call", "gcc/ARC-Function-Attributes.html#index-secure_005fcall-function-attribute_002c-ARC", "ARC", 11}, - { "sentinel", "gcc/Common-Function-Attributes.html#index-sentinel-function-attribute", "", 8}, - { "short_call", "gcc/ARC-Function-Attributes.html#index-short_005fcall-function-attribute_002c-ARC", "ARC", 10}, - { "short_call", "gcc/ARM-Function-Attributes.html#index-short_005fcall-function-attribute_002c-ARM", "ARM", 10}, - { "short_call", "gcc/Epiphany-Function-Attributes.html#index-short_005fcall-function-attribute_002c-Epiphany", "Epiphany", 10}, - { "short_call", "gcc/MIPS-Function-Attributes.html#index-short_005fcall-function-attribute_002c-MIPS", "MIPS", 10}, - { "shortcall", "gcc/Blackfin-Function-Attributes.html#index-shortcall-function-attribute_002c-Blackfin", "Blackfin", 9}, - { "shortcall", "gcc/PowerPC-Function-Attributes.html#index-shortcall-function-attribute_002c-PowerPC", "PowerPC", 9}, - { "sign-return-address", "gcc/AArch64-Function-Attributes.html#index-sign-return-address-function-attribute_002c-AArch64", "AArch64", 19}, - { "signal", "gcc/AVR-Function-Attributes.html#index-signal-function-attribute_002c-AVR", "AVR", 6}, - { "simd", "gcc/Common-Function-Attributes.html#index-simd-function-attribute", "", 4}, - { "sp_switch", "gcc/SH-Function-Attributes.html#index-sp_005fswitch-function-attribute_002c-SH", "SH", 9}, - { "sseregparm", "gcc/x86-Function-Attributes.html#index-sseregparm-function-attribute_002c-x86", "x86", 10}, - { "stack_protect", "gcc/Common-Function-Attributes.html#index-stack_005fprotect-function-attribute", "", 13}, - { "stdcall", "gcc/x86-Function-Attributes.html#index-stdcall-function-attribute_002c-x86-32", "x86-32", 7}, - { "strict-align", "gcc/AArch64-Function-Attributes.html#index-strict-align-function-attribute_002c-AArch64", "AArch64", 12}, - { "strict-align", "gcc/LoongArch-Function-Attributes.html#index-strict-align-function-attribute_002c-LoongArch", "LoongArch", 12}, - { "symver", "gcc/Common-Function-Attributes.html#index-symver-function-attribute", "", 6}, - { "syscall_linkage", "gcc/IA-64-Function-Attributes.html#index-syscall_005flinkage-function-attribute_002c-IA-64", "IA-64", 15}, - { "sysv_abi", "gcc/x86-Function-Attributes.html#index-sysv_005fabi-function-attribute_002c-x86", "x86", 8}, - { "tainted_args", "gcc/Common-Function-Attributes.html#index-tainted_005fargs-function-attribute", "", 12}, - { "target", "gcc/ARM-Function-Attributes.html#index-target-function-attribute-1", "", 6}, - { "target", "gcc/Common-Function-Attributes.html#index-target-function-attribute", "", 6}, - { "target", "gcc/PowerPC-Function-Attributes.html#index-target-function-attribute-2", "", 6}, - { "target", "gcc/S_002f390-Function-Attributes.html#index-target-function-attribute-3", "", 6}, - { "target", "gcc/x86-Function-Attributes.html#index-target-function-attribute-4", "", 6}, - { "target_clones", "gcc/Common-Function-Attributes.html#index-target_005fclones-function-attribute", "", 13}, - { "thiscall", "gcc/x86-Function-Attributes.html#index-thiscall-function-attribute_002c-x86-32", "x86-32", 8}, - { "tls-dialect=", "gcc/AArch64-Function-Attributes.html#index-tls-dialect_003d-function-attribute_002c-AArch64", "AArch64", 12}, - { "trap_exit", "gcc/SH-Function-Attributes.html#index-trap_005fexit-function-attribute_002c-SH", "SH", 9}, - { "trapa_handler", "gcc/SH-Function-Attributes.html#index-trapa_005fhandler-function-attribute_002c-SH", "SH", 13}, - { "tune=", "gcc/AArch64-Function-Attributes.html#index-tune_003d-function-attribute_002c-AArch64", "AArch64", 5}, - { "tune=", "gcc/LoongArch-Function-Attributes.html#index-tune_003d-function-attribute_002c-LoongArch", "LoongArch", 5}, - { "tune=", "gcc/RISC-V-Function-Attributes.html#index-tune_003d-function-attribute_002c-RISC-V", "RISC-V", 5}, - { "unavailable", "gcc/Common-Function-Attributes.html#index-unavailable-function-attribute", "", 11}, - { "unused", "gcc/Common-Function-Attributes.html#index-unused-function-attribute", "", 6}, - { "upper", "gcc/MSP430-Function-Attributes.html#index-upper-function-attribute_002c-MSP430", "MSP430", 5}, - { "use_debug_exception_return", "gcc/MIPS-Function-Attributes.html#index-use_005fdebug_005fexception_005freturn-function-attribute_002c-MIPS", "MIPS", 26}, - { "use_hazard_barrier_return", "gcc/MIPS-Function-Attributes.html#index-use_005fhazard_005fbarrier_005freturn-function-attribute_002c-MIPS", "MIPS", 25}, - { "use_shadow_register_set", "gcc/MIPS-Function-Attributes.html#index-use_005fshadow_005fregister_005fset-function-attribute_002c-MIPS", "MIPS", 23}, - { "used", "gcc/Common-Function-Attributes.html#index-used-function-attribute", "", 4}, - { "vector", "gcc/RX-Function-Attributes.html#index-vector-function-attribute_002c-RX", "RX", 6}, - { "version_id", "gcc/IA-64-Function-Attributes.html#index-version_005fid-function-attribute_002c-IA-64", "IA-64", 10}, - { "visibility", "gcc/Common-Function-Attributes.html#index-visibility-function-attribute", "", 10}, - { "wakeup", "gcc/MSP430-Function-Attributes.html#index-wakeup-function-attribute_002c-MSP430", "MSP430", 6}, - { "warm", "gcc/NDS32-Function-Attributes.html#index-warm-function-attribute_002c-NDS32", "NDS32", 4}, - { "warn_unused_result", "gcc/Common-Function-Attributes.html#index-warn_005funused_005fresult-function-attribute", "", 18}, - { "warning", "gcc/Common-Function-Attributes.html#index-warning-function-attribute", "", 7}, - { "weak", "gcc/Common-Function-Attributes.html#index-weak-function-attribute", "", 4}, - { "weakref", "gcc/Common-Function-Attributes.html#index-weakref-function-attribute", "", 7}, - { "zero_call_used_regs", "gcc/Common-Function-Attributes.html#index-zero_005fcall_005fused_005fregs-function-attribute", "", 19}, -}; - -const attr_url_entry label_attrs[] = { - { "cold", "gcc/Label-Attributes.html#index-cold-label-attribute", "", 4}, - { "hot", "gcc/Label-Attributes.html#index-hot-label-attribute", "", 3}, - { "unused", "gcc/Label-Attributes.html#index-unused-label-attribute", "", 6}, -}; - -const attr_url_entry statement_attrs[] = { - { "assume", "gcc/Statement-Attributes.html#index-assume-statement-attribute", "", 6}, - { "fallthrough", "gcc/Statement-Attributes.html#index-fallthrough-statement-attribute", "", 11}, - { "musttail", "gcc/Statement-Attributes.html#index-musttail-statement-attribute", "", 8}, -}; - -const attr_url_entry type_attrs[] = { - { "abi_tag", "gcc/C_002b_002b-Attributes.html#index-abi_005ftag-type-attribute", "", 7}, - { "aligned", "gcc/Common-Type-Attributes.html#index-aligned-type-attribute", "", 7}, - { "alloc_size", "gcc/Common-Type-Attributes.html#index-alloc_005fsize-type-attribute", "", 10}, - { "altivec", "gcc/PowerPC-Type-Attributes.html#index-altivec-type-attribute_002c-PowerPC", "PowerPC", 7}, - { "cold", "gcc/C_002b_002b-Attributes.html#index-cold-type-attribute", "", 4}, - { "copy", "gcc/Common-Type-Attributes.html#index-copy-type-attribute", "", 4}, - { "deprecated", "gcc/Common-Type-Attributes.html#index-deprecated-type-attribute", "", 10}, - { "designated_init", "gcc/Common-Type-Attributes.html#index-designated_005finit-type-attribute", "", 15}, - { "flag_enum", "gcc/Common-Type-Attributes.html#index-flag_005fenum-type-attribute", "", 9}, - { "gcc_struct", "gcc/PowerPC-Type-Attributes.html#index-gcc_005fstruct-type-attribute_002c-PowerPC", "PowerPC", 10}, - { "gcc_struct", "gcc/x86-Type-Attributes.html#index-gcc_005fstruct-type-attribute_002c-x86", "x86", 10}, - { "hardbool", "gcc/Common-Type-Attributes.html#index-hardbool-type-attribute", "", 8}, - { "hot", "gcc/C_002b_002b-Attributes.html#index-hot-type-attribute", "", 3}, - { "may_alias", "gcc/Common-Type-Attributes.html#index-may_005falias-type-attribute", "", 9}, - { "mode", "gcc/Common-Type-Attributes.html#index-mode-type-attribute", "", 4}, - { "ms_struct", "gcc/PowerPC-Type-Attributes.html#index-ms_005fstruct-type-attribute_002c-PowerPC", "PowerPC", 9}, - { "ms_struct", "gcc/x86-Type-Attributes.html#index-ms_005fstruct-type-attribute_002c-x86", "x86", 9}, - { "no_dangling", "gcc/C_002b_002b-Attributes.html#index-no_005fdangling-type-attribute", "", 11}, - { "notshared", "gcc/ARM-Type-Attributes.html#index-notshared-type-attribute_002c-ARM", "ARM", 9}, - { "objc_root_class", "gcc/Common-Type-Attributes.html#index-objc_005froot_005fclass-type-attribute", "", 15}, - { "packed", "gcc/Common-Type-Attributes.html#index-packed-type-attribute", "", 6}, - { "preserve_access_index", "gcc/BPF-Type-Attributes.html#index-preserve_005faccess_005findex-type-attribute_002c-BPF", "BPF", 21}, - { "scalar_storage_order", "gcc/Common-Type-Attributes.html#index-scalar_005fstorage_005forder-type-attribute", "", 20}, - { "strub", "gcc/Common-Type-Attributes.html#index-strub-type-attribute", "", 5}, - { "transparent_union", "gcc/Common-Type-Attributes.html#index-transparent_005funion-type-attribute", "", 17}, - { "unavailable", "gcc/Common-Type-Attributes.html#index-unavailable-type-attribute", "", 11}, - { "uncached", "gcc/ARC-Type-Attributes.html#index-uncached-type-attribute_002c-ARC", "ARC", 8}, - { "unused", "gcc/Common-Type-Attributes.html#index-unused-type-attribute", "", 6}, - { "vector_size", "gcc/Common-Type-Attributes.html#index-vector_005fsize-type-attribute", "", 11}, - { "visibility", "gcc/Common-Type-Attributes.html#index-visibility-type-attribute", "", 10}, - { "warn_if_not_aligned", "gcc/Common-Type-Attributes.html#index-warn_005fif_005fnot_005faligned-type-attribute", "", 19}, - { "warn_unused", "gcc/C_002b_002b-Attributes.html#index-warn_005funused-type-attribute", "", 11}, -}; - -const attr_url_entry variable_attrs[] = { - { "abi_tag", "gcc/C_002b_002b-Attributes.html#index-abi_005ftag-variable-attribute", "", 7}, - { "absdata", "gcc/AVR-Variable-Attributes.html#index-absdata-variable-attribute_002c-AVR", "AVR", 7}, - { "address", "gcc/AVR-Variable-Attributes.html#index-address-variable-attribute_002c-AVR", "AVR", 7}, - { "alias", "gcc/Common-Variable-Attributes.html#index-alias-variable-attribute", "", 5}, - { "aligned", "gcc/Common-Variable-Attributes.html#index-aligned-variable-attribute", "", 7}, - { "alloc_size", "gcc/Common-Variable-Attributes.html#index-alloc_005fsize-variable-attribute", "", 10}, - { "altivec", "gcc/PowerPC-Variable-Attributes.html#index-altivec-variable-attribute_002c-PowerPC", "PowerPC", 7}, - { "aux", "gcc/ARC-Variable-Attributes.html#index-aux-variable-attribute_002c-ARC", "ARC", 3}, - { "below100", "gcc/Xstormy16-Variable-Attributes.html#index-below100-variable-attribute_002c-Xstormy16", "Xstormy16", 8}, - { "cleanup", "gcc/Common-Variable-Attributes.html#index-cleanup-variable-attribute", "", 7}, - { "common", "gcc/Common-Variable-Attributes.html#index-common-variable-attribute", "", 6}, - { "copy", "gcc/Common-Variable-Attributes.html#index-copy-variable-attribute", "", 4}, - { "counted_by", "gcc/Common-Variable-Attributes.html#index-counted_005fby-variable-attribute", "", 10}, - { "deprecated", "gcc/Common-Variable-Attributes.html#index-deprecated-variable-attribute", "", 10}, - { "dllexport", "gcc/Microsoft-Windows-Variable-Attributes.html#index-dllexport-variable-attribute", "", 9}, - { "dllimport", "gcc/Microsoft-Windows-Variable-Attributes.html#index-dllimport-variable-attribute", "", 9}, - { "eightbit_data", "gcc/H8_002f300-Variable-Attributes.html#index-eightbit_005fdata-variable-attribute_002c-H8_002f300", "H8/300", 13}, - { "either", "gcc/MSP430-Variable-Attributes.html#index-either-variable-attribute_002c-MSP430", "MSP430", 6}, - { "gcc_struct", "gcc/PowerPC-Variable-Attributes.html#index-gcc_005fstruct-variable-attribute_002c-PowerPC", "PowerPC", 10}, - { "gcc_struct", "gcc/x86-Variable-Attributes.html#index-gcc_005fstruct-variable-attribute_002c-x86", "x86", 10}, - { "init_priority", "gcc/C_002b_002b-Attributes.html#index-init_005fpriority-variable-attribute", "", 13}, - { "io", "gcc/AVR-Variable-Attributes.html#index-io-variable-attribute_002c-AVR", "AVR", 2}, - { "io_low", "gcc/AVR-Variable-Attributes.html#index-io_005flow-variable-attribute_002c-AVR", "AVR", 6}, - { "l1_data", "gcc/Blackfin-Variable-Attributes.html#index-l1_005fdata-variable-attribute_002c-Blackfin", "Blackfin", 7}, - { "l1_data_A", "gcc/Blackfin-Variable-Attributes.html#index-l1_005fdata_005fA-variable-attribute_002c-Blackfin", "Blackfin", 9}, - { "l1_data_B", "gcc/Blackfin-Variable-Attributes.html#index-l1_005fdata_005fB-variable-attribute_002c-Blackfin", "Blackfin", 9}, - { "l2", "gcc/Blackfin-Variable-Attributes.html#index-l2-variable-attribute_002c-Blackfin", "Blackfin", 2}, - { "lower", "gcc/MSP430-Variable-Attributes.html#index-lower-variable-attribute_002c-MSP430", "MSP430", 5}, - { "mode", "gcc/Common-Variable-Attributes.html#index-mode-variable-attribute", "", 4}, - { "model", "gcc/IA-64-Variable-Attributes.html#index-model-variable-attribute_002c-IA-64", "IA-64", 5}, - { "model", "gcc/LoongArch-Variable-Attributes.html#index-model-variable-attribute_002c-LoongArch", "LoongArch", 5}, - { "model-name", "gcc/M32R_002fD-Variable-Attributes.html#index-model-name-variable-attribute_002c-M32R_002fD", "M32R/D", 10}, - { "ms_struct", "gcc/PowerPC-Variable-Attributes.html#index-ms_005fstruct-variable-attribute_002c-PowerPC", "PowerPC", 9}, - { "ms_struct", "gcc/x86-Variable-Attributes.html#index-ms_005fstruct-variable-attribute_002c-x86", "x86", 9}, - { "no_icf", "gcc/Common-Variable-Attributes.html#index-no_005ficf-variable-attribute", "", 6}, - { "nocommon", "gcc/Common-Variable-Attributes.html#index-nocommon-variable-attribute", "", 8}, - { "noinit", "gcc/Common-Variable-Attributes.html#index-noinit-variable-attribute", "", 6}, - { "nonstring", "gcc/Common-Variable-Attributes.html#index-nonstring-variable-attribute", "", 9}, - { "objc_nullability", "gcc/Common-Variable-Attributes.html#index-objc_005fnullability-variable-attribute", "", 16}, - { "packed", "gcc/Common-Variable-Attributes.html#index-packed-variable-attribute", "", 6}, - { "persistent", "gcc/Common-Variable-Attributes.html#index-persistent-variable-attribute", "", 10}, - { "progmem", "gcc/AVR-Variable-Attributes.html#index-progmem-variable-attribute_002c-AVR", "AVR", 7}, - { "retain", "gcc/Common-Variable-Attributes.html#index-retain-variable-attribute", "", 6}, - { "saddr", "gcc/RL78-Variable-Attributes.html#index-saddr-variable-attribute_002c-RL78", "RL78", 5}, - { "sda", "gcc/V850-Variable-Attributes.html#index-sda-variable-attribute_002c-V850", "V850", 3}, - { "section", "gcc/Common-Variable-Attributes.html#index-section-variable-attribute", "", 7}, - { "selectany", "gcc/Microsoft-Windows-Variable-Attributes.html#index-selectany-variable-attribute", "", 9}, - { "shared", "gcc/Microsoft-Windows-Variable-Attributes.html#index-shared-variable-attribute", "", 6}, - { "shared", "gcc/Nvidia-PTX-Variable-Attributes.html#index-shared-variable-attribute_002c-Nvidia-PTX", "Nvidia PTX", 6}, - { "strict_flex_array", "gcc/Common-Variable-Attributes.html#index-strict_005fflex_005farray-variable-attribute", "", 17}, - { "tda", "gcc/V850-Variable-Attributes.html#index-tda-variable-attribute_002c-V850", "V850", 3}, - { "tiny_data", "gcc/H8_002f300-Variable-Attributes.html#index-tiny_005fdata-variable-attribute_002c-H8_002f300", "H8/300", 9}, - { "tls_model", "gcc/Common-Variable-Attributes.html#index-tls_005fmodel-variable-attribute", "", 9}, - { "unavailable", "gcc/Common-Variable-Attributes.html#index-unavailable-variable-attribute", "", 11}, - { "uninitialized", "gcc/Common-Variable-Attributes.html#index-uninitialized-variable-attribute", "", 13}, - { "unused", "gcc/Common-Variable-Attributes.html#index-unused-variable-attribute", "", 6}, - { "upper", "gcc/MSP430-Variable-Attributes.html#index-upper-variable-attribute_002c-MSP430", "MSP430", 5}, - { "used", "gcc/Common-Variable-Attributes.html#index-used-variable-attribute", "", 4}, - { "vector_size", "gcc/Common-Variable-Attributes.html#index-vector_005fsize-variable-attribute", "", 11}, - { "visibility", "gcc/Common-Variable-Attributes.html#index-visibility-variable-attribute", "", 10}, - { "warn_if_not_aligned", "gcc/Common-Variable-Attributes.html#index-warn_005fif_005fnot_005faligned-variable-attribute", "", 19}, - { "weak", "gcc/Common-Variable-Attributes.html#index-weak-variable-attribute", "", 4}, - { "zda", "gcc/V850-Variable-Attributes.html#index-zda-variable-attribute_002c-V850", "V850", 3}, +const attr_url_entry all_attrs[] = { + { "OS_Task", "gcc/H8_002f300-Attributes.html#index-OS_005fTask_002c-H8_002f300", "H8/300", 7}, + { "OS_main", "gcc/AVR-Attributes.html#index-OS_005fmain_002c-AVR", "AVR", 7}, + { "OS_task", "gcc/AVR-Attributes.html#index-OS_005ftask_002c-AVR", "AVR", 7}, + { "abi_tag", "gcc/C_002b_002b-Attributes.html#index-abi_005ftag", "", 7}, + { "absdata", "gcc/AVR-Attributes.html#index-absdata_002c-AVR", "AVR", 7}, + { "access", "gcc/Common-Attributes.html#index-access", "", 6}, + { "address", "gcc/AVR-Attributes.html#index-address_002c-AVR", "AVR", 7}, + { "alias", "gcc/Common-Attributes.html#index-alias", "", 5}, + { "aligned", "gcc/Common-Attributes.html#index-aligned", "", 7}, + { "alloc_align", "gcc/Common-Attributes.html#index-alloc_005falign", "", 11}, + { "alloc_size", "gcc/Common-Attributes.html#index-alloc_005fsize", "", 10}, + { "altivec", "gcc/PowerPC-Attributes.html#index-altivec_002c-PowerPC", "PowerPC", 7}, + { "always_inline", "gcc/Common-Attributes.html#index-always_005finline", "", 13}, + { "amdgpu_hsa_kernel", "gcc/AMD-GCN-Attributes.html#index-amdgpu_005fhsa_005fkernel_002c-AMD-GCN", "AMD GCN", 17}, + { "arch=", "gcc/ARM-Attributes.html#index-arch_003d_002c-ARM", "ARM", 5}, + { "artificial", "gcc/Common-Attributes.html#index-artificial", "", 10}, + { "assume", "gcc/Common-Attributes.html#index-assume", "", 6}, + { "assume_aligned", "gcc/Common-Attributes.html#index-assume_005faligned", "", 14}, + { "aux", "gcc/ARC-Attributes.html#index-aux_002c-ARC", "ARC", 3}, + { "bank_switch", "gcc/M32C-Attributes.html#index-bank_005fswitch_002c-M32C", "M32C", 11}, + { "below100", "gcc/Xstormy16-Attributes.html#index-below100_002c-Xstormy16", "Xstormy16", 8}, + { "break_handler", "gcc/MicroBlaze-Attributes.html#index-break_005fhandler_002c-MicroBlaze", "MicroBlaze", 13}, + { "brk_interrupt", "gcc/RL78-Attributes.html#index-brk_005finterrupt_002c-RL78", "RL78", 13}, + { "btf_decl_tag", "gcc/Common-Attributes.html#index-btf_005fdecl_005ftag", "", 12}, + { "btf_type_tag", "gcc/Common-Attributes.html#index-btf_005ftype_005ftag", "", 12}, + { "callee_pop_aggregate_return", "gcc/x86-Attributes.html#index-callee_005fpop_005faggregate_005freturn_002c-x86", "x86", 27}, + { "cdecl", "gcc/x86-Attributes.html#index-cdecl_002c-x86-32", "x86-32", 5}, + { "cf_check", "gcc/x86-Attributes.html#index-cf_005fcheck_002c-x86", "x86", 8}, + { "cleanup", "gcc/Common-Attributes.html#index-cleanup", "", 7}, + { "code_readable", "gcc/MIPS-Attributes.html#index-code_005freadable_002c-MIPS", "MIPS", 13}, + { "cold", "gcc/C_002b_002b-Attributes.html#index-cold-1", "", 4}, + { "cold", "gcc/Common-Attributes.html#index-cold", "", 4}, + { "common", "gcc/Common-Attributes.html#index-common", "", 6}, + { "const", "gcc/Common-Attributes.html#index-const", "", 5}, + { "constructor", "gcc/Common-Attributes.html#index-constructor", "", 11}, + { "copy", "gcc/Common-Attributes.html#index-copy", "", 4}, + { "counted_by", "gcc/Common-Attributes.html#index-counted_005fby", "", 10}, + { "critical", "gcc/MSP430-Attributes.html#index-critical_002c-MSP430", "MSP430", 8}, + { "deprecated", "gcc/Common-Attributes.html#index-deprecated", "", 10}, + { "designated_init", "gcc/Common-Attributes.html#index-designated_005finit", "", 15}, + { "destructor", "gcc/Common-Attributes.html#index-destructor", "", 10}, + { "disinterrupt", "gcc/Epiphany-Attributes.html#index-disinterrupt_002c-Epiphany", "Epiphany", 12}, + { "dllexport", "gcc/Microsoft-Windows-Attributes.html#index-dllexport_002c-Microsoft-Windows", "Microsoft Windows", 9}, + { "dllimport", "gcc/Microsoft-Windows-Attributes.html#index-dllimport_002c-Microsoft-Windows", "Microsoft Windows", 9}, + { "eightbit_data", "gcc/H8_002f300-Attributes.html#index-eightbit_005fdata_002c-H8_002f300", "H8/300", 13}, + { "either", "gcc/MSP430-Attributes.html#index-either_002c-MSP430", "MSP430", 6}, + { "error", "gcc/Common-Attributes.html#index-error", "", 5}, + { "exception", "gcc/NDS32-Attributes.html#index-exception_002c-NDS32", "NDS32", 9}, + { "exception_handler", "gcc/Blackfin-Attributes.html#index-exception_005fhandler_002c-Blackfin", "Blackfin", 17}, + { "expected_throw", "gcc/Common-Attributes.html#index-expected_005fthrow", "", 14}, + { "externally_visible", "gcc/Common-Attributes.html#index-externally_005fvisible", "", 18}, + { "fallthrough", "gcc/Common-Attributes.html#index-fallthrough", "", 11}, + { "far", "gcc/MIPS-Attributes.html#index-far_002c-MIPS", "MIPS", 3}, + { "fast_interrupt", "gcc/M32C-Attributes.html#index-fast_005finterrupt_002c-M32C", "M32C", 14}, + { "fast_interrupt", "gcc/MicroBlaze-Attributes.html#index-fast_005finterrupt_002c-MicroBlaze", "MicroBlaze", 14}, + { "fast_interrupt", "gcc/RX-Attributes.html#index-fast_005finterrupt_002c-RX", "RX", 14}, + { "fastcall", "gcc/x86-Attributes.html#index-fastcall_002c-x86-32", "x86-32", 8}, + { "fd_arg", "gcc/Common-Attributes.html#index-fd_005farg", "", 6}, + { "fd_arg_read", "gcc/Common-Attributes.html#index-fd_005farg_005fread", "", 11}, + { "fd_arg_write", "gcc/Common-Attributes.html#index-fd_005farg_005fwrite", "", 12}, + { "fentry_name", "gcc/x86-Attributes.html#index-fentry_005fname_002c-x86", "x86", 11}, + { "fentry_section", "gcc/x86-Attributes.html#index-fentry_005fsection_002c-x86", "x86", 14}, + { "flatten", "gcc/Common-Attributes.html#index-flatten", "", 7}, + { "force_align_arg_pointer", "gcc/x86-Attributes.html#index-force_005falign_005farg_005fpointer_002c-x86", "x86", 23}, + { "format", "gcc/Common-Attributes.html#index-format", "", 6}, + { "format_arg", "gcc/Common-Attributes.html#index-format_005farg", "", 10}, + { "forwarder_section", "gcc/Epiphany-Attributes.html#index-forwarder_005fsection_002c-Epiphany", "Epiphany", 17}, + { "function_return", "gcc/x86-Attributes.html#index-function_005freturn_002c-x86", "x86", 15}, + { "function_vector", "gcc/H8_002f300-Attributes.html#index-function_005fvector_002c-H8_002f300", "H8/300", 15}, + { "function_vector", "gcc/M32C-Attributes.html#index-function_005fvector_002c-M16C_002fM32C", "M16C/M32C", 15}, + { "function_vector", "gcc/SH-Attributes.html#index-function_005fvector_002c-SH", "SH", 15}, + { "gcc_struct", "gcc/PowerPC-Attributes.html#index-gcc_005fstruct_002c-PowerPC", "PowerPC", 10}, + { "gcc_struct", "gcc/x86-Attributes.html#index-gcc_005fstruct_002c-x86", "x86", 10}, + { "general-regs-only", "gcc/ARM-Attributes.html#index-general-regs-only_002c-ARM", "ARM", 17}, + { "gnu_inline", "gcc/Common-Attributes.html#index-gnu_005finline", "", 10}, + { "hardbool", "gcc/Common-Attributes.html#index-hardbool", "", 8}, + { "hot", "gcc/C_002b_002b-Attributes.html#index-hot-1", "", 3}, + { "hot", "gcc/Common-Attributes.html#index-hot", "", 3}, + { "hotpatch", "gcc/S_002f390-Attributes.html#index-hotpatch_002c-S_002f390", "S/390", 8}, + { "ifunc", "gcc/Common-Attributes.html#index-ifunc", "", 5}, + { "indirect_branch", "gcc/x86-Attributes.html#index-indirect_005fbranch_002c-x86", "x86", 15}, + { "indirect_return", "gcc/x86-Attributes.html#index-indirect_005freturn_002c-x86", "x86", 15}, + { "init_priority", "gcc/C_002b_002b-Attributes.html#index-init_005fpriority", "", 13}, + { "interrupt", "gcc/ARC-Attributes.html#index-interrupt_002c-ARC", "ARC", 9}, + { "interrupt", "gcc/ARM-Attributes.html#index-interrupt_002c-ARM", "ARM", 9}, + { "interrupt", "gcc/AVR-Attributes.html#index-interrupt_002c-AVR", "AVR", 9}, + { "interrupt", "gcc/C-SKY-Attributes.html#index-interrupt_002c-C-SKY", "C-SKY", 9}, + { "interrupt", "gcc/Common-Attributes.html#index-interrupt", "", 9}, + { "interrupt", "gcc/Epiphany-Attributes.html#index-interrupt_002c-Epiphany", "Epiphany", 9}, + { "interrupt", "gcc/M32C-Attributes.html#index-interrupt_002c-M32C", "M32C", 9}, + { "interrupt", "gcc/M32R_002fD-Attributes.html#index-interrupt_002c-M32R_002fD", "M32R/D", 9}, + { "interrupt", "gcc/MIPS-Attributes.html#index-interrupt_002c-MIPS", "MIPS", 9}, + { "interrupt", "gcc/MSP430-Attributes.html#index-interrupt_002c-MSP430", "MSP430", 9}, + { "interrupt", "gcc/NDS32-Attributes.html#index-interrupt_002c-NDS32", "NDS32", 9}, + { "interrupt", "gcc/RISC-V-Attributes.html#index-interrupt_002c-RISC-V", "RISC-V", 9}, + { "interrupt", "gcc/RL78-Attributes.html#index-interrupt_002c-RL78", "RL78", 9}, + { "interrupt", "gcc/RX-Attributes.html#index-interrupt_002c-RX", "RX", 9}, + { "interrupt", "gcc/V850-Attributes.html#index-interrupt_002c-V850", "V850", 9}, + { "interrupt", "gcc/Visium-Attributes.html#index-interrupt_002c-Visium", "Visium", 9}, + { "interrupt", "gcc/Xstormy16-Attributes.html#index-interrupt_002c-Xstormy16", "Xstormy16", 9}, + { "interrupt", "gcc/m68k-Attributes.html#index-interrupt_002c-m68k", "m68k", 9}, + { "interrupt", "gcc/x86-Attributes.html#index-interrupt_002c-x86", "x86", 9}, + { "interrupt_handler", "gcc/Blackfin-Attributes.html#index-interrupt_005fhandler_002c-Blackfin", "Blackfin", 17}, + { "interrupt_handler", "gcc/Common-Attributes.html#index-interrupt_005fhandler", "", 17}, + { "interrupt_handler", "gcc/H8_002f300-Attributes.html#index-interrupt_005fhandler_002c-H8_002f300", "H8/300", 17}, + { "interrupt_handler", "gcc/MicroBlaze-Attributes.html#index-interrupt_005fhandler_002c-MicroBlaze", "MicroBlaze", 17}, + { "interrupt_handler", "gcc/SH-Attributes.html#index-interrupt_005fhandler_002c-SH", "SH", 17}, + { "interrupt_handler", "gcc/V850-Attributes.html#index-interrupt_005fhandler_002c-V850", "V850", 17}, + { "interrupt_handler", "gcc/m68k-Attributes.html#index-interrupt_005fhandler_002c-m68k", "m68k", 17}, + { "interrupt_thread", "gcc/m68k-Attributes.html#index-interrupt_005fthread_002c-fido", "fido", 16}, + { "io", "gcc/AVR-Attributes.html#index-io_002c-AVR", "AVR", 2}, + { "io_low", "gcc/AVR-Attributes.html#index-io_005flow_002c-AVR", "AVR", 6}, + { "isr", "gcc/ARM-Attributes.html#index-isr_002c-ARM", "ARM", 3}, + { "isr", "gcc/C-SKY-Attributes.html#index-isr_002c-C-SKY", "C-SKY", 3}, + { "jli_always", "gcc/ARC-Attributes.html#index-jli_005falways_002c-ARC", "ARC", 10}, + { "jli_fixed", "gcc/ARC-Attributes.html#index-jli_005ffixed_002c-ARC", "ARC", 9}, + { "keep_interrupts_masked", "gcc/MIPS-Attributes.html#index-keep_005finterrupts_005fmasked_002c-MIPS", "MIPS", 22}, + { "kernel", "gcc/Nvidia-PTX-Attributes.html#index-kernel_002c-Nvidia-PTX", "Nvidia PTX", 6}, + { "kspisusp", "gcc/Blackfin-Attributes.html#index-kspisusp_002c-Blackfin", "Blackfin", 8}, + { "l1_data", "gcc/Blackfin-Attributes.html#index-l1_005fdata_002c-Blackfin", "Blackfin", 7}, + { "l1_data_A", "gcc/Blackfin-Attributes.html#index-l1_005fdata_005fA_002c-Blackfin", "Blackfin", 9}, + { "l1_data_B", "gcc/Blackfin-Attributes.html#index-l1_005fdata_005fB_002c-Blackfin", "Blackfin", 9}, + { "l1_text", "gcc/Blackfin-Attributes.html#index-l1_005ftext_002c-Blackfin", "Blackfin", 7}, + { "l2", "gcc/Blackfin-Attributes.html#index-l2_002c-Blackfin", "Blackfin", 2}, + { "leaf", "gcc/Common-Attributes.html#index-leaf", "", 4}, + { "long_call", "gcc/ARC-Attributes.html#index-long_005fcall_002c-ARC", "ARC", 9}, + { "long_call", "gcc/ARM-Attributes.html#index-long_005fcall_002c-ARM", "ARM", 9}, + { "long_call", "gcc/Epiphany-Attributes.html#index-long_005fcall_002c-Epiphany", "Epiphany", 9}, + { "long_call", "gcc/MIPS-Attributes.html#index-long_005fcall_002c-MIPS", "MIPS", 9}, + { "longcall", "gcc/Blackfin-Attributes.html#index-longcall_002c-Blackfin", "Blackfin", 8}, + { "longcall", "gcc/PowerPC-Attributes.html#index-longcall_002c-PowerPC", "PowerPC", 8}, + { "lower", "gcc/MSP430-Attributes.html#index-lower_002c-MSP430", "MSP430", 5}, + { "malloc", "gcc/Common-Attributes.html#index-malloc", "", 6}, + { "may_alias", "gcc/Common-Attributes.html#index-may_005falias", "", 9}, + { "medium_call", "gcc/ARC-Attributes.html#index-medium_005fcall_002c-ARC", "ARC", 11}, + { "micromips", "gcc/MIPS-Attributes.html#index-micromips_002c-MIPS", "MIPS", 9}, + { "mips16", "gcc/MIPS-Attributes.html#index-mips16_002c-MIPS", "MIPS", 6}, + { "mode", "gcc/Common-Attributes.html#index-mode", "", 4}, + { "model", "gcc/IA-64-Attributes.html#index-model_002c-IA-64", "IA-64", 5}, + { "model", "gcc/LoongArch-Attributes.html#index-model_002c-LoongArch", "LoongArch", 5}, + { "model", "gcc/M32R_002fD-Attributes.html#index-model_002c-M32R_002fD", "M32R/D", 5}, + { "monitor", "gcc/H8_002f300-Attributes.html#index-monitor_002c-H8_002f300", "H8/300", 7}, + { "ms_abi", "gcc/x86-Attributes.html#index-ms_005fabi_002c-x86", "x86", 6}, + { "ms_hook_prologue", "gcc/x86-Attributes.html#index-ms_005fhook_005fprologue_002c-x86", "x86", 16}, + { "ms_struct", "gcc/PowerPC-Attributes.html#index-ms_005fstruct_002c-PowerPC", "PowerPC", 9}, + { "ms_struct", "gcc/x86-Attributes.html#index-ms_005fstruct_002c-x86", "x86", 9}, + { "musttail", "gcc/Common-Attributes.html#index-musttail", "", 8}, + { "naked", "gcc/Common-Attributes.html#index-naked", "", 5}, + { "near", "gcc/MIPS-Attributes.html#index-near_002c-MIPS", "MIPS", 4}, + { "nested", "gcc/NDS32-Attributes.html#index-nested_002c-NDS32", "NDS32", 6}, + { "nested_ready", "gcc/NDS32-Attributes.html#index-nested_005fready_002c-NDS32", "NDS32", 12}, + { "nesting", "gcc/Blackfin-Attributes.html#index-nesting_002c-Blackfin", "Blackfin", 7}, + { "nmi", "gcc/NDS32-Attributes.html#index-nmi_002c-NDS32", "NDS32", 3}, + { "nmi_handler", "gcc/Blackfin-Attributes.html#index-nmi_005fhandler_002c-Blackfin", "Blackfin", 11}, + { "no_callee_saved_registers", "gcc/x86-Attributes.html#index-no_005fcallee_005fsaved_005fregisters_002c-x86", "x86", 25}, + { "no_caller_saved_registers", "gcc/x86-Attributes.html#index-no_005fcaller_005fsaved_005fregisters_002c-x86", "x86", 25}, + { "no_dangling", "gcc/C_002b_002b-Attributes.html#index-no_005fdangling", "", 11}, + { "no_gccisr", "gcc/AVR-Attributes.html#index-no_005fgccisr_002c-AVR", "AVR", 9}, + { "no_icf", "gcc/Common-Attributes.html#index-no_005ficf", "", 6}, + { "no_instrument_function", "gcc/Common-Attributes.html#index-no_005finstrument_005ffunction", "", 22}, + { "no_reorder", "gcc/Common-Attributes.html#index-no_005freorder", "", 10}, + { "no_sanitize_address", "gcc/Common-Attributes.html#index-no_005fsanitize_005faddress", "", 19}, + { "no_sanitize_thread", "gcc/Common-Attributes.html#index-no_005fsanitize_005fthread", "", 18}, + { "no_sanitize_undefined", "gcc/Common-Attributes.html#index-no_005fsanitize_005fundefined", "", 21}, + { "no_split_stack", "gcc/Common-Attributes.html#index-no_005fsplit_005fstack", "", 14}, + { "no_stack_limit", "gcc/Common-Attributes.html#index-no_005fstack_005flimit", "", 14}, + { "no_stack_protector", "gcc/Common-Attributes.html#index-no_005fstack_005fprotector", "", 18}, + { "noblock", "gcc/AVR-Attributes.html#index-noblock_002c-AVR", "AVR", 7}, + { "nocf_check", "gcc/x86-Attributes.html#index-nocf_005fcheck_002c-x86", "x86", 10}, + { "noclone", "gcc/Common-Attributes.html#index-noclone", "", 7}, + { "nocommon", "gcc/Common-Attributes.html#index-nocommon", "", 8}, + { "nocompression", "gcc/MIPS-Attributes.html#index-nocompression_002c-MIPS", "MIPS", 13}, + { "nodirect_extern_access", "gcc/x86-Attributes.html#index-nodirect_005fextern_005faccess_002c-x86", "x86", 22}, + { "noinit", "gcc/Common-Attributes.html#index-noinit", "", 6}, + { "noinline", "gcc/Common-Attributes.html#index-noinline", "", 8}, + { "noipa", "gcc/Common-Attributes.html#index-noipa", "", 5}, + { "nomicromips", "gcc/MIPS-Attributes.html#index-nomicromips_002c-MIPS", "MIPS", 11}, + { "nomips16", "gcc/MIPS-Attributes.html#index-nomips16_002c-MIPS", "MIPS", 8}, + { "nonnull", "gcc/Common-Attributes.html#index-nonnull", "", 7}, + { "nonnull_if_nonzero", "gcc/Common-Attributes.html#index-nonnull_005fif_005fnonzero", "", 18}, + { "nonstring", "gcc/Common-Attributes.html#index-nonstring", "", 9}, + { "noplt", "gcc/Common-Attributes.html#index-noplt", "", 5}, + { "noreturn", "gcc/Common-Attributes.html#index-noreturn", "", 8}, + { "nosave_low_regs", "gcc/SH-Attributes.html#index-nosave_005flow_005fregs_002c-SH", "SH", 15}, + { "not_nested", "gcc/NDS32-Attributes.html#index-not_005fnested_002c-NDS32", "NDS32", 10}, + { "nothrow", "gcc/Common-Attributes.html#index-nothrow", "", 7}, + { "notshared", "gcc/ARM-Attributes.html#index-notshared_002c-ARM", "ARM", 9}, + { "null_terminated_string_arg", "gcc/Common-Attributes.html#index-null_005fterminated_005fstring_005farg", "", 26}, + { "objc_nullability", "gcc/Common-Attributes.html#index-objc_005fnullability", "", 16}, + { "objc_root_class", "gcc/Common-Attributes.html#index-objc_005froot_005fclass", "", 15}, + { "optimize", "gcc/Common-Attributes.html#index-optimize", "", 8}, + { "packed", "gcc/Common-Attributes.html#index-packed", "", 6}, + { "partial_save", "gcc/NDS32-Attributes.html#index-partial_005fsave_002c-NDS32", "NDS32", 12}, + { "patchable_function_entry", "gcc/Common-Attributes.html#index-patchable_005ffunction_005fentry", "", 24}, + { "pcs", "gcc/ARM-Attributes.html#index-pcs_002c-ARM", "ARM", 3}, + { "persistent", "gcc/Common-Attributes.html#index-persistent", "", 10}, + { "prefer-vector-width", "gcc/x86-Attributes.html#index-prefer-vector-width_002c-x86", "x86", 19}, + { "preserve_access_index", "gcc/BPF-Attributes.html#index-preserve_005faccess_005findex_002c-BPF", "BPF", 21}, + { "preserve_none", "gcc/x86-Attributes.html#index-preserve_005fnone_002c-x86", "x86", 13}, + { "progmem", "gcc/AVR-Attributes.html#index-progmem_002c-AVR", "AVR", 7}, + { "pure", "gcc/Common-Attributes.html#index-pure", "", 4}, + { "reentrant", "gcc/MSP430-Attributes.html#index-reentrant_002c-MSP430", "MSP430", 9}, + { "regparm", "gcc/x86-Attributes.html#index-regparm_002c-x86", "x86", 7}, + { "renesas", "gcc/SH-Attributes.html#index-renesas_002c-SH", "SH", 7}, + { "reproducible", "gcc/Common-Attributes.html#index-reproducible", "", 12}, + { "resbank", "gcc/SH-Attributes.html#index-resbank_002c-SH", "SH", 7}, + { "reset", "gcc/NDS32-Attributes.html#index-reset_002c-NDS32", "NDS32", 5}, + { "retain", "gcc/Common-Attributes.html#index-retain", "", 6}, + { "returns_nonnull", "gcc/Common-Attributes.html#index-returns_005fnonnull", "", 15}, + { "returns_twice", "gcc/Common-Attributes.html#index-returns_005ftwice", "", 13}, + { "riscv_vector_cc", "gcc/RISC-V-Attributes.html#index-riscv_005fvector_005fcc_002c-RISC-V", "RISC-V", 15}, + { "saddr", "gcc/RL78-Attributes.html#index-saddr_002c-RL78", "RL78", 5}, + { "save_all", "gcc/NDS32-Attributes.html#index-save_005fall_002c-NDS32", "NDS32", 8}, + { "save_volatiles", "gcc/MicroBlaze-Attributes.html#index-save_005fvolatiles_002c-MicroBlaze", "MicroBlaze", 14}, + { "saveall", "gcc/Blackfin-Attributes.html#index-saveall_002c-Blackfin", "Blackfin", 7}, + { "saveall", "gcc/H8_002f300-Attributes.html#index-saveall_002c-H8_002f300", "H8/300", 7}, + { "scalar_storage_order", "gcc/Common-Attributes.html#index-scalar_005fstorage_005forder", "", 20}, + { "sda", "gcc/V850-Attributes.html#index-sda_002c-V850", "V850", 3}, + { "section", "gcc/Common-Attributes.html#index-section", "", 7}, + { "secure_call", "gcc/ARC-Attributes.html#index-secure_005fcall_002c-ARC", "ARC", 11}, + { "selectany", "gcc/Microsoft-Windows-Attributes.html#index-selectany_002c-Microsoft-Windows", "Microsoft Windows", 9}, + { "sentinel", "gcc/Common-Attributes.html#index-sentinel", "", 8}, + { "shared", "gcc/Microsoft-Windows-Attributes.html#index-shared_002c-Microsoft-Windows", "Microsoft Windows", 6}, + { "shared", "gcc/Nvidia-PTX-Attributes.html#index-shared_002c-Nvidia-PTX", "Nvidia PTX", 6}, + { "short_call", "gcc/ARC-Attributes.html#index-short_005fcall_002c-ARC", "ARC", 10}, + { "short_call", "gcc/ARM-Attributes.html#index-short_005fcall_002c-ARM", "ARM", 10}, + { "short_call", "gcc/Epiphany-Attributes.html#index-short_005fcall_002c-Epiphany", "Epiphany", 10}, + { "short_call", "gcc/MIPS-Attributes.html#index-short_005fcall_002c-MIPS", "MIPS", 10}, + { "shortcall", "gcc/Blackfin-Attributes.html#index-shortcall_002c-Blackfin", "Blackfin", 9}, + { "shortcall", "gcc/PowerPC-Attributes.html#index-shortcall_002c-PowerPC", "PowerPC", 9}, + { "signal", "gcc/AVR-Attributes.html#index-signal_002c-AVR", "AVR", 6}, + { "simd", "gcc/Common-Attributes.html#index-simd", "", 4}, + { "sp_switch", "gcc/SH-Attributes.html#index-sp_005fswitch_002c-SH", "SH", 9}, + { "sseregparm", "gcc/x86-Attributes.html#index-sseregparm_002c-x86", "x86", 10}, + { "stack_protect", "gcc/Common-Attributes.html#index-stack_005fprotect", "", 13}, + { "stdcall", "gcc/x86-Attributes.html#index-stdcall_002c-x86-32", "x86-32", 7}, + { "strict_flex_array", "gcc/Common-Attributes.html#index-strict_005fflex_005farray", "", 17}, + { "strub", "gcc/Common-Attributes.html#index-strub", "", 5}, + { "symver", "gcc/Common-Attributes.html#index-symver", "", 6}, + { "syscall_linkage", "gcc/IA-64-Attributes.html#index-syscall_005flinkage_002c-IA-64", "IA-64", 15}, + { "sysv_abi", "gcc/x86-Attributes.html#index-sysv_005fabi_002c-x86", "x86", 8}, + { "tainted_args", "gcc/Common-Attributes.html#index-tainted_005fargs", "", 12}, + { "target", "gcc/AArch64-Attributes.html#index-target_002c-AArch64", "AArch64", 6}, + { "target", "gcc/ARM-Attributes.html#index-target_002c-ARM", "ARM", 6}, + { "target", "gcc/Common-Attributes.html#index-target", "", 6}, + { "target", "gcc/LoongArch-Attributes.html#index-target_002c-LoongArch", "LoongArch", 6}, + { "target", "gcc/PowerPC-Attributes.html#index-target_002c-PowerPC", "PowerPC", 6}, + { "target", "gcc/RISC-V-Attributes.html#index-target_002c-RISC-V", "RISC-V", 6}, + { "target", "gcc/S_002f390-Attributes.html#index-target_002c-S_002f390", "S/390", 6}, + { "target", "gcc/x86-Attributes.html#index-target_002c-x86", "x86", 6}, + { "target_clones", "gcc/Common-Attributes.html#index-target_005fclones", "", 13}, + { "target_clones", "gcc/LoongArch-Attributes.html#index-target_005fclones_002c-LoongArch", "LoongArch", 13}, + { "target_version", "gcc/Common-Attributes.html#index-target_005fversion", "", 14}, + { "target_version", "gcc/LoongArch-Attributes.html#index-target_005fversion_002c-LoongArch", "LoongArch", 14}, + { "tda", "gcc/V850-Attributes.html#index-tda_002c-V850", "V850", 3}, + { "thiscall", "gcc/x86-Attributes.html#index-thiscall_002c-x86-32", "x86-32", 8}, + { "tiny_data", "gcc/H8_002f300-Attributes.html#index-tiny_005fdata_002c-H8_002f300", "H8/300", 9}, + { "tls_model", "gcc/Common-Attributes.html#index-tls_005fmodel", "", 9}, + { "transparent_union", "gcc/Common-Attributes.html#index-transparent_005funion", "", 17}, + { "trap_exit", "gcc/SH-Attributes.html#index-trap_005fexit_002c-SH", "SH", 9}, + { "trapa_handler", "gcc/SH-Attributes.html#index-trapa_005fhandler_002c-SH", "SH", 13}, + { "unavailable", "gcc/Common-Attributes.html#index-unavailable", "", 11}, + { "uncached", "gcc/ARC-Attributes.html#index-uncached_002c-ARC", "ARC", 8}, + { "uninitialized", "gcc/Common-Attributes.html#index-uninitialized", "", 13}, + { "unsequenced", "gcc/Common-Attributes.html#index-unsequenced", "", 11}, + { "unused", "gcc/Common-Attributes.html#index-unused", "", 6}, + { "upper", "gcc/MSP430-Attributes.html#index-upper_002c-MSP430", "MSP430", 5}, + { "use_debug_exception_return", "gcc/MIPS-Attributes.html#index-use_005fdebug_005fexception_005freturn_002c-MIPS", "MIPS", 26}, + { "use_hazard_barrier_return", "gcc/MIPS-Attributes.html#index-use_005fhazard_005fbarrier_005freturn_002c-MIPS", "MIPS", 25}, + { "use_shadow_register_set", "gcc/MIPS-Attributes.html#index-use_005fshadow_005fregister_005fset_002c-MIPS", "MIPS", 23}, + { "used", "gcc/Common-Attributes.html#index-used", "", 4}, + { "vector", "gcc/RX-Attributes.html#index-vector_002c-RX", "RX", 6}, + { "vector_size", "gcc/Common-Attributes.html#index-vector_005fsize", "", 11}, + { "version_id", "gcc/IA-64-Attributes.html#index-version_005fid_002c-IA-64", "IA-64", 10}, + { "visibility", "gcc/Common-Attributes.html#index-visibility", "", 10}, + { "wakeup", "gcc/MSP430-Attributes.html#index-wakeup_002c-MSP430", "MSP430", 6}, + { "warm", "gcc/NDS32-Attributes.html#index-warm_002c-NDS32", "NDS32", 4}, + { "warn_unused", "gcc/C_002b_002b-Attributes.html#index-warn_005funused", "", 11}, + { "warn_unused_result", "gcc/Common-Attributes.html#index-warn_005funused_005fresult", "", 18}, + { "warning", "gcc/Common-Attributes.html#index-warning", "", 7}, + { "weak", "gcc/Common-Attributes.html#index-weak", "", 4}, + { "weakref", "gcc/Common-Attributes.html#index-weakref", "", 7}, + { "zda", "gcc/V850-Attributes.html#index-zda_002c-V850", "V850", 3}, + { "zero_call_used_regs", "gcc/Common-Attributes.html#index-zero_005fcall_005fused_005fregs", "", 19}, }; static const struct attr_url_table { const attr_url_entry *m_table; const size_t m_table_sz; } attr_url_tables[] = { - { enumerator_attrs, ARRAY_SIZE (enumerator_attrs) }, - { function_attrs, ARRAY_SIZE (function_attrs) }, - { label_attrs, ARRAY_SIZE (label_attrs) }, - { statement_attrs, ARRAY_SIZE (statement_attrs) }, - { type_attrs, ARRAY_SIZE (type_attrs) }, - { variable_attrs, ARRAY_SIZE (variable_attrs) }, + { all_attrs, ARRAY_SIZE (all_attrs) }, }; diff --git a/gcc/gcc-attribute-urlifier.cc b/gcc/gcc-attribute-urlifier.cc index b2e13c79ab16..f5774f384164 100644 --- a/gcc/gcc-attribute-urlifier.cc +++ b/gcc/gcc-attribute-urlifier.cc @@ -173,41 +173,29 @@ test_attribute_urlifier () /* Examples of function attributes. */ ASSERT_STREQ (u.get_url_suffix_for_quoted_text ("alias").get (), - "gcc/Common-Function-Attributes.html" - "#index-alias-function-attribute"); + "gcc/Common-Attributes.html#index-alias"); ASSERT_STREQ (u.get_url_suffix_for_quoted_text ("access(read_write, 2, 3)").get (), - "gcc/Common-Function-Attributes.html" - "#index-access-function-attribute"); + "gcc/Common-Attributes.html#index-access"); /* Example of enumerator attribute. */ ASSERT_STREQ (u.get_url_suffix_for_quoted_text ("deprecated").get (), - "gcc/Enumerator-Attributes.html" - "#index-deprecated-enumerator-attribute"); - - /* We don't yet have an example of a label attribute, since all - label attributes have a matching function attribute of the same - name, which is found first. */ + "gcc/Common-Attributes.html#index-deprecated"); /* Example of statement attribute. */ ASSERT_STREQ (u.get_url_suffix_for_quoted_text ("assume").get (), - "gcc/Statement-Attributes.html" - "#index-assume-statement-attribute"); + "gcc/Common-Attributes.html#index-assume"); /* Examples of type attributes. */ ASSERT_STREQ (u.get_url_suffix_for_quoted_text ("hardbool").get (), - "gcc/Common-Type-Attributes.html" - "#index-hardbool-type-attribute"); - ASSERT_STREQ (u.get_url_suffix_for_quoted_text - ("packed").get (), - "gcc/Common-Type-Attributes.html" - "#index-packed-type-attribute"); + "gcc/Common-Attributes.html#index-hardbool"); + ASSERT_STREQ (u.get_url_suffix_for_quoted_text ("packed").get (), + "gcc/Common-Attributes.html#index-packed"); /* Example of variable attribute. */ ASSERT_STREQ (u.get_url_suffix_for_quoted_text ("nonstring").get (), - "gcc/Common-Variable-Attributes.html" - "#index-nonstring-variable-attribute"); + "gcc/Common-Attributes.html#index-nonstring"); /* Example of target-specific attributes. For example, "interrupt" has many target-specific documentation URLs. */ @@ -217,15 +205,12 @@ test_attribute_urlifier () attribute_urlifier u_unrecognized ("not-a-target"); ASSERT_STREQ (u_rl78.get_url_suffix_for_quoted_text ("interrupt").get (), - "gcc/RL78-Function-Attributes.html" - "#index-interrupt-function-attribute_002c-RL78"); + "gcc/RL78-Attributes.html#index-interrupt_002c-RL78"); ASSERT_STREQ (u_x86.get_url_suffix_for_quoted_text ("interrupt").get (), - "gcc/x86-Function-Attributes.html" - "#index-interrupt-function-attribute_002c-x86"); + "gcc/x86-Attributes.html#index-interrupt_002c-x86"); ASSERT_STREQ (u_unrecognized.get_url_suffix_for_quoted_text ("interrupt").get (), - "gcc/Common-Function-Attributes.html" - "#index-interrupt-function-attribute"); + "gcc/Common-Attributes.html#index-interrupt"); } } diff --git a/gcc/regenerate-attr-urls.py b/gcc/regenerate-attr-urls.py index 8e063ec59f16..e164d335cebb 100755 --- a/gcc/regenerate-attr-urls.py +++ b/gcc/regenerate-attr-urls.py @@ -72,25 +72,28 @@ class Index: line = line.replace('_002d', '-') line = line.replace('_002a', '*') - # e.g. <a href="Common-Function-Attributes.html#index-access-function-attribute"><code>access</code> function attribute</a> - # e.g. <a href="MIPS-Function-Attributes.html#index-nocompression-function-attribute_002c-MIPS"><code class="code">nocompression</code> function attribute, MIPS</a> - m = re.search(r'<a href="([\S]+)"><code[^>]*>([\S]+)</code> (\S+) attribute([^<]*)</a>', line) + # e.g. <a href="Common-Attributes.html#index-alias"><code class="code">alias</code></a> + # e.g. <a href="PowerPC-Attributes.html#index-altivec_002c-PowerPC"><code class="code">altivec</code>, PowerPC</a> + # Since the unification of the function/variable/type etc attributes + # into a single list, the "kind" no longer appears in the index + # entry text and is always ignored. + m = re.search(r'<a href="([\S]+)"><code[^>]*>([\S]+)</code>([^<]*)</a>', line) if not m: return if verbose: print(m.groups()) - url_suffix, name, kind, extra_text = m.groups() + url_suffix, name, extra_text = m.groups() if extra_text.startswith(', '): extra_text = extra_text[2:] - # Reject anchors where the name contains a paren + # Reject anchors where the name contains a paren (why?) # e.g. 'target("3dnowa")': if '(' in name: return - self.add_entry(url_suffix, name, kind, extra_text) + self.add_entry(url_suffix, name, 'all', extra_text) def generate_file(self, dstpath): with open(dstpath, 'w') as outf: @@ -115,78 +118,82 @@ class Index: outf.write(" { %s_attrs, ARRAY_SIZE (%s_attrs) },\n" % (kind, kind)) outf.write("};\n") -INDEX_REL_PATH = 'gcc/Concept-and-Symbol-Index.html' +INDEX_REL_PATH = 'gcc/Attribute-Index.html' class TestParsingIndex(unittest.TestCase): def test_function_attribute(self): index = Index() - index.parse_html_line_attribute_index('<a href="Common-Function-Attributes.html#index-access-function-attribute"><code>access</code> function attribute</a>') - self.assertEqual(index.entries, [('Common-Function-Attributes.html#index-access-function-attribute', + index.parse_html_line_attribute_index('<a href="Common-Attributes.html#index-access"><code class="code">access</code></a>') + self.assertEqual(index.entries, [('Common-Attributes.html#index-access', 'access', - 'function', + 'all', '')]) def test_function_attribute_with_target(self): index = Index() - index.parse_html_line_attribute_index('<a href="MIPS-Function-Attributes.html#index-nocompression-function-attribute_002c-MIPS"><code class="code">nocompression</code> function attribute, MIPS</a>') - self.assertEqual(index.entries, [('MIPS-Function-Attributes.html#index-nocompression-function-attribute_002c-MIPS', + index.parse_html_line_attribute_index('<a href="MIPS-Attributes.html#index-nocompression_002c-MIPS"><code class="code">nocompression</code>, MIPS</a>') + self.assertEqual(index.entries, [('MIPS-Attributes.html#index-nocompression_002c-MIPS', 'nocompression', - 'function', + 'all', 'MIPS')]) def test_reject_parens(self): index = Index() - index.parse_html_line_attribute_index('<a href="x86-Function-Attributes.html#index-target_0028_00223dnow_0022_0029-function-attribute_002c-x86"><code>target("3dnow")</code> function attribute, x86</a>') + index.parse_html_line_attribute_index('<a href="x86-Attributes.html#index-target_0028_00223dnow_0022_0029_002c-x86"><code class="code">target("3dnow")</code>, x86</a>') self.assertEqual(len(index.entries), 0) def test_type_attribute(self): index = Index() - index.parse_html_line_attribute_index('<a href="Common-Type-Attributes.html#index-aligned-type-attribute"><code>aligned</code> type attribute</a>') - self.assertEqual(index.entries, [('Common-Type-Attributes.html#index-aligned-type-attribute', + index.parse_html_line_attribute_index('<a href="Common-Attributes.html#index-aligned"><code class="code">aligned</code></a>') + self.assertEqual(index.entries, [('Common-Attributes.html#index-aligned', 'aligned', - 'type', + 'all', '')]) def test_enumerator_attribute(self): index = Index() - index.parse_html_line_attribute_index('<a href="Enumerator-Attributes.html#index-deprecated-enumerator-attribute"><code>deprecated</code> enumerator attribute</a>') - self.assertEqual(index.entries, [('Enumerator-Attributes.html#index-deprecated-enumerator-attribute', + index.parse_html_line_attribute_index('<a href="Common-Attributes.html#index-deprecated"><code class="code">deprecated</code></a>') + self.assertEqual(index.entries, [('Common-Attributes.html#index-deprecated', 'deprecated', - 'enumerator', + 'all', '')]) def test_label_attribute(self): index = Index() - index.parse_html_line_attribute_index('<a href="Label-Attributes.html#index-cold-label-attribute"><code>cold</code> label attribute</a>') - self.assertEqual(index.entries, [('Label-Attributes.html#index-cold-label-attribute', + index.parse_html_line_attribute_index('<a href="Common-Attributes.html#index-cold"><code class="code">cold</code></a>') + self.assertEqual(index.entries, [('Common-Attributes.html#index-cold', 'cold', - 'label', + 'all', '')]) def test_statement_attribute(self): index = Index() - index.parse_html_line_attribute_index('<a href="Statement-Attributes.html#index-assume-statement-attribute"><code>assume</code> statement attribute</a>') - self.assertEqual(index.entries, [('Statement-Attributes.html#index-assume-statement-attribute', + index.parse_html_line_attribute_index('<a href="Common-Attributes.html#index-assume"><code class="code">assume</code></a>') + self.assertEqual(index.entries, [('Common-Attributes.html#index-assume', 'assume', - 'statement', + 'all', '')]) def test_variable_attribute(self): index = Index() - index.parse_html_line_attribute_index('<a href="AVR-Variable-Attributes.html#index-absdata-variable-attribute_002c-AVR"><code>absdata</code> variable attribute, AVR</a>') - self.assertEqual(index.entries, [('AVR-Variable-Attributes.html#index-absdata-variable-attribute_002c-AVR', + index.parse_html_line_attribute_index('<a href="AVR-Attributes.html#index-absdata_002c-AVR"><code class="code">absdata</code>, AVR</a>') + self.assertEqual(index.entries, [('AVR-Attributes.html#index-absdata_002c-AVR', 'absdata', - 'variable', + 'all', 'AVR')]) + # Warning, this is fragile and depends on these being the first two + # entries in the HTML index. Adding or removing options may break this! def test_parse_attribute_index(self): index = Index() index.parse_attribute_index(INPUT_HTML_PATH / INDEX_REL_PATH) - self.assertEqual(index.entries_by_kind['enumerator'][0], - ('deprecated', - 'Enumerator-Attributes.html#index-deprecated-enumerator-attribute', + self.assertEqual(index.entries_by_kind['all'][0], + ('abi_tag', + 'C_002b_002b-Attributes.html#index-abi_005ftag', '')) - self.assertEqual(index.entries_by_kind['label'][0], - ('cold', 'Label-Attributes.html#index-cold-label-attribute', '')) + self.assertEqual(index.entries_by_kind['all'][1], + ('absdata', + 'AVR-Attributes.html#index-absdata_002c-AVR', + 'AVR')) def main(args): index = Index()
