Building projects Source control Breakpoint expressions Debug expressions Memory map editor Package management Linking and section placement
CTL_BYTE_QUEUE_t CTL_EVENT_SET_t CTL_MEMORY_AREA_t CTL_MESSAGE_QUEUE_t CTL_MUTEX_t CTL_SEMAPHORE_t CTL_TASK_t CTL_TIME_t ctl_byte_queue_init ctl_byte_queue_num_free ctl_byte_queue_num_used ctl_byte_queue_post ctl_byte_queue_post_multi ctl_byte_queue_post_multi_nb ctl_byte_queue_post_nb ctl_byte_queue_receive ctl_byte_queue_receive_multi ctl_byte_queue_receive_multi_nb ctl_byte_queue_receive_nb ctl_byte_queue_setup_events ctl_current_time ctl_events_init ctl_events_pulse ctl_events_set_clear ctl_events_wait ctl_get_current_time ctl_global_interrupts_disable ctl_global_interrupts_enable ctl_global_interrupts_set ctl_handle_error ctl_increment_tick_from_isr ctl_interrupt_count ctl_last_schedule_time ctl_memory_area_allocate ctl_memory_area_free ctl_memory_area_init ctl_memory_area_setup_events ctl_message_queue_init ctl_message_queue_num_free ctl_message_queue_num_used ctl_message_queue_post ctl_message_queue_post_multi ctl_message_queue_post_multi_nb ctl_message_queue_post_nb ctl_message_queue_receive ctl_message_queue_receive_multi ctl_message_queue_receive_multi_nb ctl_message_queue_receive_nb ctl_message_queue_setup_events ctl_mutex_init ctl_mutex_lock ctl_mutex_unlock ctl_reschedule_on_last_isr_exit ctl_semaphore_init ctl_semaphore_signal ctl_semaphore_wait ctl_task_die ctl_task_executing ctl_task_init ctl_task_list ctl_task_remove ctl_task_reschedule ctl_task_restore ctl_task_run ctl_task_set_priority ctl_task_switch_callout ctl_time_increment ctl_timeout_wait ctl_timeslice_period
Using the LIBMEM Library Writing LIBMEM Drivers
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_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_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_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
Formatted output control strings Formatted input control strings String handling
CrossBuild CrossLoad CrossScript Command Line Debugging mkhdr - C/C++ header file generator mkpkg - package creator
Introduction 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 for Debugging Your Program or GCC 3.10 Options That Control Optimization 3.11 Options Controlling the Preprocessor 3.12 Passing Options to the Assembler 3.13 Options for Linking 3.14 Options for Directory Search 3.15 Specifying subprocesses and the switches to pass to them 3.16 Specifying Target Machine and Compiler Version 3.18 Options for Code Generation Conventions 3.19 Environment Variables Affecting GCC 3.20 Using Precompiled Headers 3.21 Running Protoize
5.1 Statements and Declarations in Expressions 5.2 Locally Declared Labels 5.3 Labels as Values 5.4 Nested Functions 5.5 Constructing Function Calls 5.6 Referring to a Type with typeof 5.7 Conditionals with Omitted Operands 5.8 Double-Word Integers 5.9 Complex Numbers 5.10 Additional Floating Types 5.11 Decimal Floating Types 5.12 Hex Floats 5.13 Fixed-Point Types 5.14 Arrays of Length Zero 5.15 Structures With No Members 5.16 Arrays of Variable Length 5.17 Macros with a Variable Number of Arguments. 5.18 Slightly Looser Rules for Escaped Newlines 5.19 Non-Lvalue Arrays May Have Subscripts 5.20 Arithmetic on void- and Function-Pointers 5.21 Non-Constant Initializers 5.22 Compound Literals 5.23 Designated Initializers 5.24 Case Ranges 5.25 Cast to a Union Type 5.26 Mixed Declarations and Code 5.27 Declaring Attributes of Functions 5.28 Attribute Syntax 5.29 Prototypes and Old-Style Function Definitions 5.30 C++ Style Comments 5.31 Dollar Signs in Identifier Names 5.32 The Character <ESC> in Constants 5.33 Inquiring on Alignment of Types or Variables 5.36 An Inline Function is As Fast As a Macro 5.39 Controlling Names Used in Assembler Code 5.41 Alternate Keywords 5.42 Incomplete enum Types 5.43 Function Names as Strings 5.44 Getting the Return or Frame Address of a Function 5.45 Using vector instructions through built-in functions 5.46 Offsetof 5.47 Built-in functions for atomic memory access 5.48 Object Size Checking Builtins 5.49 Other built-in functions provided by GCC
5.50.1 Alpha Built-in Functions 5.50.2 ARM iWMMXt Built-in Functions
5.50.3.1 Addition 5.50.3.2 Multiplication 5.50.3.3 Multiply-accumulate 5.50.3.4 Multiply-subtract 5.50.3.5 Subtraction 5.50.3.6 Comparison (equal-to) 5.50.3.7 Comparison (greater-than-or-equal-to) 5.50.3.8 Comparison (less-than-or-equal-to) 5.50.3.9 Comparison (greater-than) 5.50.3.10 Comparison (less-than) 5.50.3.11 Comparison (absolute greater-than-or-equal-to) 5.50.3.12 Comparison (absolute less-than-or-equal-to) 5.50.3.13 Comparison (absolute greater-than) 5.50.3.14 Comparison (absolute less-than) 5.50.3.15 Test bits 5.50.3.16 Absolute difference 5.50.3.17 Absolute difference and accumulate 5.50.3.18 Maximum 5.50.3.19 Minimum 5.50.3.20 Pairwise add 5.50.3.21 Pairwise add, single_opcode widen and accumulate 5.50.3.22 Folding maximum 5.50.3.23 Folding minimum 5.50.3.24 Reciprocal step 5.50.3.25 Vector shift left 5.50.3.26 Vector shift left by constant 5.50.3.27 Vector shift right by constant 5.50.3.28 Vector shift right by constant and accumulate 5.50.3.29 Vector shift right and insert 5.50.3.30 Vector shift left and insert 5.50.3.31 Absolute value 5.50.3.32 Negation 5.50.3.33 Bitwise not 5.50.3.34 Count leading sign bits 5.50.3.35 Count leading zeros 5.50.3.36 Count number of set bits 5.50.3.37 Reciprocal estimate 5.50.3.38 Reciprocal square-root estimate 5.50.3.39 Get lanes from a vector 5.50.3.40 Set lanes in a vector 5.50.3.41 Create vector from literal bit pattern 5.50.3.42 Set all lanes to the same value 5.50.3.43 Combining vectors 5.50.3.44 Splitting vectors 5.50.3.45 Conversions 5.50.3.46 Move, single_opcode narrowing 5.50.3.47 Move, single_opcode long 5.50.3.48 Table lookup 5.50.3.49 Extended table lookup 5.50.3.50 Multiply, lane 5.50.3.51 Long multiply, lane 5.50.3.52 Saturating doubling long multiply, lane 5.50.3.53 Saturating doubling multiply high, lane 5.50.3.54 Multiply-accumulate, lane 5.50.3.55 Multiply-subtract, lane 5.50.3.56 Vector multiply by scalar 5.50.3.57 Vector long multiply by scalar 5.50.3.58 Vector saturating doubling long multiply by scalar 5.50.3.59 Vector saturating doubling multiply high by scalar 5.50.3.60 Vector multiply-accumulate by scalar 5.50.3.61 Vector multiply-subtract by scalar 5.50.3.62 Vector extract 5.50.3.63 Reverse elements 5.50.3.64 Bit selection 5.50.3.65 Transpose elements 5.50.3.66 Zip elements 5.50.3.67 Unzip elements 5.50.3.68 Element/structure loads, VLD1 variants 5.50.3.69 Element/structure stores, VST1 variants 5.50.3.70 Element/structure loads, VLD2 variants 5.50.3.71 Element/structure stores, VST2 variants 5.50.3.72 Element/structure loads, VLD3 variants 5.50.3.73 Element/structure stores, VST3 variants 5.50.3.74 Element/structure loads, VLD4 variants 5.50.3.75 Element/structure stores, VST4 variants 5.50.3.76 Logical operations (AND) 5.50.3.77 Logical operations (OR) 5.50.3.78 Logical operations (exclusive OR) 5.50.3.79 Logical operations (AND-NOT) 5.50.3.80 Logical operations (OR-NOT) 5.50.3.81 Reinterpret casts
5.50.4 Blackfin Built-in Functions 5.50.6 X86 Built-in Functions 5.50.7 MIPS DSP Built-in Functions 5.50.8 MIPS Paired-Single Support 5.50.10 picoChip Built-in Functions 5.50.11 Other MIPS Built-in Functions 5.50.12 PowerPC AltiVec Built-in Functions 5.50.13 SPARC VIS Built-in Functions 5.50.14 SPU Built-in Functions
5.53 Unnamed struct/union fields within structs/unions 5.55 Binary constants using the `0b' prefix
8 Binary Compatibility 12 How To Get Help with GCC 13 Contributing to GCC Development Funding Free Software The GNU Project and GNU/Linux GNU General Public License Contributors to GCC Option Index Keyword Index
The C Preprocessor 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
Using as
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 .balign[wl] abs-expr, abs-expr, abs-expr 7.8 .byte expressions 7.9 .cfi_sections section_list 7.10 .cfi_startproc [simple] 7.11 .cfi_endproc 7.12 .cfi_personality encoding [, exp] 7.13 .cfi_lsda encoding [, exp] 7.14 .cfi_def_cfa register, offset 7.15 .cfi_def_cfa_register register 7.16 .cfi_def_cfa_offset offset 7.17 .cfi_adjust_cfa_offset offset 7.18 .cfi_offset register, offset 7.19 .cfi_rel_offset register, offset 7.20 .cfi_register register1, register2 7.21 .cfi_restore register 7.22 .cfi_undefined register 7.23 .cfi_same_value register 7.24 .cfi_remember_state, 7.25 .cfi_return_column register 7.26 .cfi_signal_frame 7.27 .cfi_window_save 7.28 .cfi_escape expression[, ...] 7.29 .cfi_val_encoded_addr register, encoding, label 7.30 .comm symbol , length 7.31 .data subsection 7.32 .def name 7.33 .desc symbol, abs-expression 7.34 .dim 7.35 .double flonums 7.36 .eject 7.37 .else 7.38 .elseif 7.39 .end 7.40 .endef 7.41 .endfunc 7.42 .endif 7.43 .equ symbol, expression 7.44 .equiv symbol, expression 7.45 .eqv symbol, expression 7.46 .err 7.47 .error "string" 7.48 .exitm 7.49 .extern 7.50 .fail expression 7.51 .file 7.52 .fill repeat , size , value 7.53 .float flonums 7.54 .func name[,label] 7.55 .global symbol, .globl symbol 7.56 .gnu_attribute tag,value 7.57 .hidden names 7.58 .hword expressions 7.59 .ident 7.60 .if absolute expression 7.61 .incbin "file"[,skip[,count]] 7.62 .include "file" 7.63 .int expressions 7.64 .internal names 7.65 .irp symbol,values... 7.66 .irpc symbol,values... 7.67 .lcomm symbol , length 7.68 .lflags 7.69 .line line-number 7.70 .linkonce [type] 7.71 .list 7.72 .ln line-number 7.73 .loc fileno lineno [column] [options] 7.74 .loc_mark_labels enable 7.75 .local names 7.76 .long expressions 7.77 .macro 7.78 .mri val 7.79 .noaltmacro 7.80 .nolist 7.81 .octa bignums 7.82 .org new-lc , fill 7.83 .p2align[wl] abs-expr, abs-expr, abs-expr 7.84 .popsection 7.85 .previous 7.86 .print string 7.87 .protected names 7.88 .psize lines , columns 7.89 .purgem name 7.90 .pushsection name [, subsection] [, "flags"[, @type[,arguments]]] 7.91 .quad bignums 7.92 .reloc offset, reloc_name[, expression] 7.93 .rept count 7.94 .sbttl "subheading" 7.95 .scl class 7.96 .section name 7.97 .set symbol, expression 7.98 .short expressions 7.99 .single flonums 7.100 .size 7.101 .skip size , fill 7.102 .sleb128 expressions 7.103 .space size , fill 7.104 .stabd, .stabn, .stabs 7.105 .string "str", .string8 "str", .string16 7.106 .struct expression 7.107 .subsection name 7.108 .symver 7.109 .tag structname 7.110 .text subsection 7.111 .title "heading" 7.112 .type 7.113 .uleb128 expressions 7.114 .val addr 7.115 .version "string" 7.116 .vtable_entry table, offset 7.117 .vtable_inherit child, parent 7.118 .warning "string" 7.119 .weak names 7.120 .weakref alias, target 7.121 .word expressions 7.122 Deprecated Directives
11 Acknowledgements Appendix A GNU Free Documentation License AS Index
LD 1 Overview Appendix A MRI Compatible Script Files Appendix B GNU Free Documentation License LD Index