CrossStudio help and assistance Package management Breakpoint expressions Debug expressions
Using an external ARM GCC toolchain
Using the LIBMEM library Light version of LIBMEM Writing LIBMEM drivers LIBMEM loader library
LIBMEM_ADDRESS_IN_RANGE LIBMEM_ADDRESS_IS_ALIGNED LIBMEM_ALIGNED_ADDRESS LIBMEM_CFI_CMDSET_AMD_EXTENDED LIBMEM_CFI_CMDSET_AMD_STANDARD LIBMEM_CFI_CMDSET_INTEL_EXTENDED LIBMEM_CFI_CMDSET_INTEL_STANDARD LIBMEM_CFI_CMDSET_MITSUBISHI_EXTENDED LIBMEM_CFI_CMDSET_MITSUBISHI_STANDARD LIBMEM_CFI_CMDSET_NONE LIBMEM_CFI_CMDSET_RESERVED LIBMEM_CFI_CMDSET_SST_PAGE_WRITE LIBMEM_CFI_CMDSET_WINBOND_STANDARD LIBMEM_DRIVER_PAGED_WRITE_OPTION_DISABLE_DIRECT_WRITES LIBMEM_DRIVER_PAGED_WRITE_OPTION_DISABLE_PAGE_PRELOAD LIBMEM_INLINE LIBMEM_KB LIBMEM_MB LIBMEM_RANGE_OCCLUDES_RANGE LIBMEM_RANGE_OVERLAPS_RANGE LIBMEM_RANGE_WITHIN_RANGE LIBMEM_STATUS_CFI_ERROR LIBMEM_STATUS_ERROR LIBMEM_STATUS_GEOMETRY_REGION_OVERFLOW LIBMEM_STATUS_INVALID_DEVICE LIBMEM_STATUS_INVALID_PARAMETER LIBMEM_STATUS_INVALID_RANGE LIBMEM_STATUS_INVALID_WIDTH LIBMEM_STATUS_LOCKED LIBMEM_STATUS_NOT_IMPLEMENTED LIBMEM_STATUS_NO_DRIVER LIBMEM_STATUS_SUCCESS LIBMEM_STATUS_TIMEOUT LIBMEM_VERSION_NUMBER _libmem_driver_functions_t _libmem_driver_handle_t _libmem_driver_paged_write_ctrlblk_t _libmem_ext_driver_functions_t _libmem_flash_info_t _libmem_geometry_t _libmem_sector_info_t libmem_busy_handler_fn libmem_busy_handler_fn_t libmem_cfi_get_info libmem_crc32 libmem_crc32_direct libmem_driver_crc32_fn_t libmem_driver_erase_fn_t libmem_driver_fill_fn_t libmem_driver_flush_fn_t libmem_driver_inrange_fn_t libmem_driver_lock_fn_t libmem_driver_page_write_fn_t libmem_driver_paged_write libmem_driver_paged_write_fill libmem_driver_paged_write_flush libmem_driver_paged_write_init libmem_driver_read_fn_t libmem_driver_unlock_fn_t libmem_driver_write_fn_t libmem_drivers libmem_enable_timeouts libmem_erase libmem_erase_all libmem_fill libmem_flush libmem_foreach_driver libmem_foreach_driver_fn_t libmem_foreach_sector libmem_foreach_sector_fn_t libmem_foreach_sector_in_range libmem_foreach_sector_in_range_ex libmem_get_driver libmem_get_driver_sector_size libmem_get_geometry_size libmem_get_number_of_regions libmem_get_number_of_sectors libmem_get_sector_info libmem_get_sector_number libmem_get_sector_size libmem_get_ticks libmem_get_ticks_fn libmem_get_ticks_fn_t libmem_lock libmem_lock_all libmem_read libmem_register_am29f200b_driver libmem_register_am29f200t_driver libmem_register_am29f400bb_driver libmem_register_am29f400bt_driver libmem_register_am29fxxx_driver libmem_register_am29lv010b_driver libmem_register_cfi_0001_16_driver libmem_register_cfi_0001_8_driver libmem_register_cfi_0002_16_driver libmem_register_cfi_0002_8_driver libmem_register_cfi_0003_16_driver libmem_register_cfi_0003_8_driver libmem_register_cfi_amd_driver libmem_register_cfi_driver libmem_register_cfi_intel_driver libmem_register_driver libmem_register_ram_driver libmem_register_sst39xFx00A_16_driver libmem_register_st_m28w320cb_driver libmem_register_st_m28w320ct_driver libmem_set_busy_handler libmem_ticks_per_second libmem_unlock libmem_unlock_all libmem_write
1 Programming Languages Supported by GCC
3.1 Option Summary 3.2 Options Controlling the Kind of Output 3.3 Compiling C++ Programs 3.4 Options Controlling C Dialect 3.5 Options Controlling C++ Dialect 3.6 Options Controlling Objective-C and Objective-C++ Dialects 3.7 Options to Control Diagnostic Messages Formatting 3.8 Options to Request or Suppress Warnings 3.9 Options That Control Static Analysis 3.10 Options for Debugging Your Program 3.11 Options That Control Optimization 3.12 Program Instrumentation Options 3.13 Options Controlling the Preprocessor 3.14 Passing Options to the Assembler 3.15 Options for Linking 3.16 Options for Directory Search 3.17 Options for Code Generation Conventions 3.18 GCC Developer Options
3.19.2 Adapteva Epiphany Options 3.19.3 AMD GCN Options 3.19.4 ARC Options 3.19.5 ARM Options 3.19.7 Blackfin Options 3.19.8 C6X Options 3.19.9 CRIS Options 3.19.10 C-SKY Options 3.19.11 Darwin Options 3.19.12 DEC Alpha Options 3.19.13 eBPF Options 3.19.14 FR30 Options 3.19.15 FT32 Options 3.19.16 FRV Options 3.19.17 GNU/Linux Options 3.19.18 H8/300 Options 3.19.19 HPPA Options 3.19.20 IA-64 Options 3.19.21 LM32 Options 3.19.22 LoongArch Options 3.19.23 M32C Options 3.19.24 M32R/D Options 3.19.25 M680x0 Options 3.19.26 MCore Options 3.19.27 MicroBlaze Options 3.19.28 MIPS Options 3.19.29 MMIX Options 3.19.30 MN10300 Options 3.19.31 Moxie Options 3.19.32 MSP430 Options 3.19.33 NDS32 Options 3.19.34 Nios II Options 3.19.35 Nvidia PTX Options 3.19.36 OpenRISC Options 3.19.37 PDP-11 Options 3.19.38 PowerPC Options 3.19.39 PRU Options 3.19.40 RISC-V Options 3.19.41 RL78 Options 3.19.42 IBM RS/6000 and PowerPC Options 3.19.43 RX Options 3.19.44 S/390 and zSeries Options 3.19.45 SH Options 3.19.46 Solaris 2 Options 3.19.47 SPARC Options 3.19.48 Options for System V 3.19.49 V850 Options 3.19.50 VAX Options 3.19.51 Visium Options 3.19.52 VMS Options 3.19.53 VxWorks Options 3.19.54 x86 Options 3.19.55 x86 Windows Options 3.19.56 Xstormy16 Options 3.19.57 Xtensa Options 3.19.58 zSeries Options
3.20 Specifying Subprocesses and the Switches to Pass to Them 3.21 Environment Variables Affecting GCC 3.22 Using Precompiled Headers
6.1 Statements and Declarations in Expressions 6.2 Locally Declared Labels 6.3 Labels as Values 6.4 Nested Functions 6.5 Nonlocal Gotos 6.6 Constructing Function Calls 6.7 Referring to a Type with typeof 6.8 Conditionals with Omitted Operands 6.9 128-bit Integers 6.10 Double-Word Integers 6.11 Complex Numbers 6.12 Additional Floating Types 6.13 Half-Precision Floating Point 6.14 Decimal Floating Types 6.15 Hex Floats 6.16 Fixed-Point Types 6.18 Arrays of Length Zero 6.19 Structures with No Members 6.20 Arrays of Variable Length 6.21 Macros with a Variable Number of Arguments. 6.22 Slightly Looser Rules for Escaped Newlines 6.23 Non-Lvalue Arrays May Have Subscripts 6.24 Arithmetic on void- and Function-Pointers 6.25 Pointer Arguments in Variadic Functions 6.26 Pointers to Arrays with Qualifiers Work as Expected 6.27 Non-Constant Initializers 6.28 Compound Literals 6.29 Designated Initializers 6.30 Case Ranges 6.31 Cast to a Union Type 6.32 Mixed Declarations, Labels and Code 6.36 Label Attributes 6.37 Enumerator Attributes 6.38 Statement Attributes 6.39 Attribute Syntax 6.40 Prototypes and Old-Style Function Definitions 6.41 C++ Style Comments 6.42 Dollar Signs in Identifier Names 6.43 The Character ESC in Constants 6.44 Determining the Alignment of Functions, Types or Variables 6.45 An Inline Function is As Fast As a Macro 6.46 When is a Volatile Object Accessed? 6.48 Alternate Keywords 6.49 Incomplete enum Types 6.50 Function Names as Strings 6.51 Getting the Return or Frame Address of a Function 6.52 Using Vector Instructions through Built-in Functions 6.53 Support for offsetof 6.54 Legacy __sync Built-in Functions for Atomic Memory Access 6.55 Built-in Functions for Memory Model Aware Atomic Operations 6.56 Built-in Functions to Perform Arithmetic with Overflow Checking 6.57 x86-Specific Memory Model Extensions for Transactional Memory 6.59 Other Built-in Functions Provided by GCC
6.60.1 AArch64 Built-in Functions 6.60.2 Alpha Built-in Functions 6.60.3 Altera Nios II Built-in Functions 6.60.4 ARC Built-in Functions 6.60.5 ARC SIMD Built-in Functions 6.60.6 ARM iWMMXt Built-in Functions 6.60.7 ARM C Language Extensions (ACLE) 6.60.8 ARM Floating Point Status and Control Intrinsics 6.60.9 ARM ARMv8-M Security Extensions 6.60.10 AVR Built-in Functions 6.60.11 Blackfin Built-in Functions 6.60.12 BPF Built-in Functions 6.60.14 LoongArch Base Built-in Functions 6.60.15 MIPS DSP Built-in Functions 6.60.16 MIPS Paired-Single Support 6.60.19 Other MIPS Built-in Functions 6.60.20 MSP430 Built-in Functions 6.60.21 NDS32 Built-in Functions 6.60.25 PowerPC Atomic Memory Operation Functions 6.60.26 PowerPC Matrix-Multiply Assist Built-in Functions 6.60.27 PRU Built-in Functions 6.60.28 RISC-V Built-in Functions 6.60.29 RISC-V Vector Intrinsics 6.60.30 RX Built-in Functions 6.60.31 S/390 System z Built-in Functions 6.60.32 SH Built-in Functions 6.60.33 SPARC VIS Built-in Functions 6.60.34 TI C6X Built-in Functions 6.60.35 x86 Built-in Functions 6.60.36 x86 Transactional Memory Intrinsics 6.60.37 x86 Control-Flow Protection Intrinsics
6.63 Unnamed Structure and Union Fields 6.65 Binary Constants using the ?0b? Prefix
9 Binary Compatibility 16 How To Get Help with GCC 17 Contributing to GCC Development Funding Free Software The GNU Project and GNU/Linux GNU General Public License Contributors to GCC
5 Diagnostics 6 Line Control 7 Pragmas 8 Other Directives 9 Preprocessor Output 12 Invocation 13 Environment Variables Index of Directives Option Index Concept Index
7.1 .abort 7.2 .ABORT (COFF) 7.3 .align [abs-expr[, abs-expr[, abs-expr]]] 7.4 .altmacro 7.5 .ascii "string"? 7.6 .asciz "string"? 7.7 .attach_to_group name 7.8 .balign[wl] [abs-expr[, abs-expr[, abs-expr]]] 7.9 .bss subsection 7.11 .byte expressions 7.13 .comm symbol , length 7.14 .data subsection 7.15 .dc[size] expressions 7.16 .dcb[size] number [,fill] 7.17 .ds[size] number [,fill] 7.18 .def name 7.19 .desc symbol, abs-expression 7.20 .dim 7.21 .double flonums 7.22 .eject 7.23 .else 7.24 .elseif 7.25 .end 7.26 .endef 7.27 .endfunc 7.28 .endif 7.29 .equ symbol, expression 7.30 .equiv symbol, expression 7.31 .eqv symbol, expression 7.32 .err 7.33 .error "string" 7.34 .exitm 7.35 .extern 7.36 .fail expression 7.37 .file 7.38 .fill repeat , size , value 7.39 .float flonums 7.40 .func name[,label] 7.41 .global symbol, .globl symbol 7.42 .gnu_attribute tag,value 7.43 .hidden names 7.44 .hword expressions 7.45 .ident 7.46 .if absolute expression 7.47 .incbin "file"[,skip[,count]] 7.48 .include "file" 7.49 .int expressions 7.50 .internal names 7.51 .irp symbol,values? 7.52 .irpc symbol,values? 7.53 .lcomm symbol , length 7.54 .lflags 7.55 .line line-number 7.56 .linkonce [type] 7.57 .list 7.58 .ln line-number 7.59 .loc fileno lineno [column] [options] 7.60 .loc_mark_labels enable 7.61 .local names 7.62 .long expressions 7.63 .macro 7.64 .mri val 7.65 .noaltmacro 7.66 .nolist 7.67 .nop [size] 7.68 .nops size[, control] 7.69 .octa bignums 7.70 .offset loc 7.71 .org new-lc , fill 7.72 .p2align[wl] [abs-expr[, abs-expr[, abs-expr]]] 7.73 .popsection 7.74 .previous 7.75 .print string 7.76 .protected names 7.77 .psize lines , columns 7.78 .purgem name 7.79 .pushsection name [, subsection] [, "flags"[, @type[,arguments]]] 7.80 .quad expressions 7.81 .reloc offset, reloc_name[, expression] 7.82 .rept count 7.83 .sbttl "subheading" 7.84 .scl class 7.85 .section name 7.86 .set symbol, expression 7.87 .short expressions 7.88 .single flonums 7.89 .size 7.90 .skip size [,fill] 7.91 .sleb128 expressions 7.92 .space size [,fill] 7.93 .stabd, .stabn, .stabs 7.94 .string "str", .string8 "str", .string16 7.95 .struct expression 7.96 .subsection name 7.97 .symver 7.98 .tag structname 7.99 .text subsection 7.100 .title "heading" 7.101 .tls_common symbol, length[, alignment] 7.102 .type 7.103 .uleb128 expressions 7.104 .val addr 7.105 .version "string" 7.106 .vtable_entry table, offset 7.107 .vtable_inherit child, parent 7.108 .warning "string" 7.109 .weak names 7.110 .weakref alias, target 7.111 .word expressions 7.112 .zero size 7.113 .2byte expression [, expression]* 7.114 .4byte expression [, expression]* 7.115 .8byte expression [, expression]* 7.116 Deprecated Directives
11 Acknowledgements Appendix A GNU Free Documentation License AS Index
1 Overview
5 Special Sections Appendix A MRI Compatible Script Files Appendix B GNU Free Documentation License LD Index
Embed Package generator Package manager