GCC Middle and Back End API Reference
|
Go to the source code of this file.
#define ACCUM_TYPE_SIZE (FRACT_TYPE_SIZE * 2) |
Referenced by get_callee_fndecl().
#define ACCUMULATE_OUTGOING_ARGS 0 |
By default, the preprocessor should be invoked the same way in C++ as in C.
Referenced by check_argument_store().
#define ARG_POINTER_CFA_OFFSET | ( | FNDECL | ) | (FIRST_PARM_OFFSET (FNDECL) + crtl->args.pretend_args_size) |
On most machines, the CFA coincides with the first incoming parm.
#define ASM_COMMENT_START ";#" |
Definitions of various defaults for tm.h macros. Copyright (C) 1992-2013 Free Software Foundation, Inc. Contributed by Ron Guilmette (rfg@m) onke ys.co m
This file is part of GCC.
GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.
GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Under Section 7 of GPL version 3, you are granted additional permissions described in the GCC Runtime Library Exception, version 3.1, as published by the Free Software Foundation.
You should have received a copy of the GNU General Public License and a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see http://www.gnu.org/licenses/. How to start an assembler comment.
Referenced by dw2_asm_output_data_sleb128_raw(), dw2_asm_output_data_uleb128_raw(), dw2_asm_output_nstring(), output_cfi(), and print_version().
#define ASM_FORMAT_PRIVATE_NAME | ( | OUTPUT, | |
NAME, | |||
LABELNO | |||
) |
Referenced by lhd_set_decl_assembler_name().
#define ASM_OUTPUT_ASCII | ( | MYFILE, | |
MYSTRING, | |||
MYLENGTH | |||
) |
Choose a reasonable default for ASM_OUTPUT_ASCII.
#define ASM_OUTPUT_DEBUG_LABEL | ( | FILE, | |
PREFIX, | |||
NUM | |||
) | (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM) |
Allow target to print debug info labels specially. This is useful for VLIW targets, since debug info labels should go into the middle of instruction bundles instead of breaking them.
Referenced by decls_for_scope().
#define ASM_OUTPUT_FUNCTION_LABEL | ( | FILE, | |
NAME, | |||
DECL | |||
) | ASM_OUTPUT_LABEL ((FILE), (NAME)) |
This is how to output the definition of a user-level label named NAME, such as the label on a function.
#define ASM_OUTPUT_INTERNAL_LABEL | ( | FILE, | |
NAME | |||
) |
Output the definition of a compiler-generated label named NAME.
Referenced by default_unique_section().
#define ASM_OUTPUT_LABEL | ( | FILE, | |
NAME | |||
) |
This is how to output the definition of a user-level label named NAME, such as the label on variable NAME.
Referenced by assemble_align(), contains_pointers_p(), and get_named_section().
#define ASM_OUTPUT_LABELREF | ( | FILE, | |
NAME | |||
) |
This is how to output a reference to a user-level label named NAME.
#define ASM_PN_FORMAT "%s.%lu" |
Store in OUTPUT a string (made with alloca) containing an assembler-name for a local static variable or function named NAME. LABELNO is an integer which is different for each call.
#define ASM_PREFERRED_EH_DATA_FORMAT | ( | CODE, | |
GLOBAL | |||
) | DW_EH_PE_absptr |
Select a format to encode pointers in exception handling data. We prefer those that result in fewer dynamic relocations. Assume no special support here and encode direct references.
Referenced by push_sleb128(), and stripattributes().
#define ATTRIBUTE_ALIGNED_VALUE BIGGEST_ALIGNMENT |
Alignment value for attribute ((aligned)).
#define BITS_PER_UNIT 8 |
Default sizes for base C types. If the sizes are different for your target, you should override these values by defining the appropriate symbols in your tm.h file.
Referenced by add_frame_space(), add_scope_conflicts(), allocate_dynamic_stack_space(), ao_ref_base_alias_set(), apply_args_size(), assemble_name_raw(), assemble_static_space(), backtrace_base_for_ref(), block_move_libcall_safe_for_call_parm(), called_as_built_in(), compute_object_offset(), constant_pointer_difference(), delegitimize_mem_from_attrs(), dr_analyze_indices(), dw2_asm_output_data_sleb128(), emit_group_load_1(), expand_builtin___clear_cache(), expand_builtin_bzero(), expand_builtin_memset_args(), expand_one_hard_reg_var(), expansion_failed(), final_start_function(), find_shift_sequence(), fold_builtin_logarithm(), force_reg(), fortran_common(), gate_cse_sincos(), get_addr_base_and_unit_offset_1(), get_named_section(), get_object_alignment(), get_stack_local_alignment(), gimple_get_virt_method_for_binfo(), insert_vi_for_tree(), lowpart_bit_field_p(), make_fancy_name(), mem_overlaps_already_clobbered_arg_p(), mode_for_vector(), move_by_pieces_1(), noce_emit_store_flag(), output_constant(), recalculate_side_effects(), save_tmp_var(), size_of_sleb128(), tree_to_aff_combination(), ultimate_transparent_alias_target(), union_stack_vars(), vect_do_peeling_for_loop_bound(), and vn_reference_lookup_3().
#define BITS_PER_WORD (BITS_PER_UNIT * UNITS_PER_WORD) |
Referenced by add_stores(), align_variable(), assign_parm_adjust_entry_rtl(), clear_storage_libcall_fn(), default_mangle_assembler_name(), expand_abs(), expand_builtin_assume_aligned(), expand_subword_shift(), expand_superword_shift(), expand_vector_broadcast(), expand_widening_mult(), noce_emit_store_flag(), set_storage_via_libcall(), and shift_cost().
#define BOOL_TYPE_SIZE CHAR_TYPE_SIZE |
`bool' has size and alignment `1', on almost all platforms.
Referenced by expand_builtin_compare_and_swap().
#define CASE_VECTOR_PC_RELATIVE 0 |
Assume that case vectors are not pc-relative.
#define CFA_FRAME_BASE_OFFSET | ( | FNDECL | ) | 0 |
On most machines, we use the CFA as DW_AT_frame_base.
#define CHAR16_TYPE "short unsigned int" |
If GCC knows the exact uint_least16_t and uint_least32_t types from <stdint.h>, use them for char16_t and char32_t. Otherwise, use these guesses; getting the wrong type of a given width will not affect C++ name mangling because in C++ these are distinct types not typedefs.
#define CHAR32_TYPE "unsigned int" |
#define CHAR_TYPE_SIZE BITS_PER_UNIT |
Referenced by default_mangle_assembler_name().
#define CLZ_DEFINED_VALUE_AT_ZERO | ( | MODE, | |
VALUE | |||
) | 0 |
Indicate that CLZ and CTZ are undefined at zero.
Referenced by address_of_int_loc_descriptor(), fold_builtin_cbrt(), and simplify_const_unary_operation().
#define CONSTANT_ADDRESS_P | ( | X | ) | (CONSTANT_P (X) && GET_CODE (X) != CONST_DOUBLE) |
For most ports anything that evaluates to a constant symbolic or integer value is acceptable as a constant address.
Referenced by output_asm_operand_names().
#define CTZ_DEFINED_VALUE_AT_ZERO | ( | MODE, | |
VALUE | |||
) | 0 |
Referenced by address_of_int_loc_descriptor(), fold_builtin_cbrt(), and simplify_const_unary_operation().
How to renumber registers for dbx and gdb. If not defined, assume no renumbering is necessary.
Referenced by is_base_type().
#define DECIMAL128_TYPE_SIZE 128 |
#define DECIMAL32_TYPE_SIZE 32 |
#define DECIMAL64_TYPE_SIZE 64 |
#define DEFAULT_GDB_EXTENSIONS 1 |
#define DEFAULT_PCC_STRUCT_RETURN 1 |
Nonzero if structures and unions should be returned in memory.
This should only be defined if compatibility with another compiler or with an ABI is needed, because it results in slower code.
#define DEFAULT_USE_CXA_ATEXIT 0 |
Determine whether __cxa_atexit, rather than atexit, is used to register C++ destructors for local statics and global objects.
#define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) |
#define DWARF2_ADDR_SIZE (POINTER_SIZE / BITS_PER_UNIT) |
The size of addresses as they appear in the Dwarf 2 data. Some architectures use word addresses to refer to code locations, but Dwarf 2 info always uses byte addresses. On such machines, Dwarf 2 addresses need to be larger than the architecture's pointers.
Referenced by dwarf2_build_local_stub(), and loc_descr_equal_p_1().
Map register numbers held in the call frame info that gcc has collected using DWARF_FRAME_REGNUM to those that should be output in .debug_frame and .eh_frame.
#define DWARF_CIE_DATA_ALIGNMENT ((int) UNITS_PER_WORD) |
Offsets recorded in opcodes are a multiple of this alignment factor.
#define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER |
Number of hardware registers that go into the DWARF-2 unwind info. If not defined, equals FIRST_PSEUDO_REGISTER
#define DWARF_FRAME_REGNUM | ( | REG | ) | DBX_REGISTER_NUMBER (REG) |
The mapping from gcc register number to DWARF 2 CFA column number. By default, we just provide columns for all registers.
#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGISTERS |
The DWARF 2 CFA column which tracks the return address. Normally this is the column for PC, or the first column after all of the hard registers.
Referenced by dwarf2out_frame_debug_cfa_window_save(), dwf_regno(), and expand_builtin_dwarf_sp_column().
#define DWARF_OFFSET_SIZE 4 |
The size in bytes of a DWARF field indicating an offset or length relative to a debug info section, specified to be 4 bytes in the DWARF-2 specification. The SGI/MIPS ABI defines it to be the same as PTR_SIZE.
Referenced by optimize_external_refs_1().
#define DWARF_TYPE_SIGNATURE_SIZE 8 |
The size in bytes of a DWARF 4 type signature.
#define EH_TABLES_CAN_BE_READ_ONLY 0 |
If we have a definition of INCOMING_RETURN_ADDR_RTX, assume that the rest of the DWARF 2 frame unwind support is also provided. If we have named sections, and we're using crtstuff to run ctors, use them for registering eh frame information. On many systems, different EH table encodings are used under difference circumstances. Some will require runtime relocations; some will not. For those that do not require runtime relocations, we would like to make the table read-only. However, since the read-only tables may need to be combined with read-write tables that do require runtime relocation, it is not safe to make the tables read-only unless the linker will merge read-only and read-write sections into a single read-write section. If your linker does not have this ability, but your system is such that no encoding used with non-PIC code will ever require a runtime relocation, then you can define EH_TABLES_CAN_BE_READ_ONLY to 1 in your target configuration file.
Referenced by push_sleb128().
#define EXIT_IGNORE_STACK 0 |
EXIT_IGNORE_STACK should be nonzero if, when returning from a function, the stack pointer does not matter. The value is tested only in functions that have frame pointers.
Referenced by discard_pending_stack_adjust().
#define FLOAT_LIB_COMPARE_RETURNS_BOOL | ( | MODE, | |
COMPARISON | |||
) | false |
#define FLOAT_TYPE_SIZE BITS_PER_WORD |
#define FLOAT_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN |
If FLOAT_WORDS_BIG_ENDIAN is not defined in the header files, then the word-endianness is the same as for integers.
Referenced by expand_abs(), and expand_builtin_assume_aligned().
#define FRACT_TYPE_SIZE (BITS_PER_UNIT * 2) |
Referenced by decl_type_context().
#define FRAME_GROWS_DOWNWARD 0 |
Referenced by free_after_compilation(), and get_stack_local_alignment().
#define HARD_REGNO_NREGS_HAS_PADDING | ( | REGNO, | |
MODE | |||
) | 0 |
#define HARD_REGNO_NREGS_WITH_PADDING | ( | REGNO, | |
MODE | |||
) | -1 |
#define HAS_LONG_COND_BRANCH 0 |
Referenced by duplicate_computed_gotos().
#define HAS_LONG_UNCOND_BRANCH 0 |
Referenced by duplicate_computed_gotos().
#define IFUNC_ASM_TYPE "gnu_indirect_function" |
This is how we tell the assembler to equate two values.
#define INCOMING_FRAME_SP_OFFSET 0 |
The offset from the incoming value of sp to the top of the stack frame for the current function.
Register mappings for target machines without register windows.
Referenced by apply_args_size().
#define INCOMING_STACK_BOUNDARY PREFERRED_STACK_BOUNDARY |
Set INCOMING_STACK_BOUNDARY to PREFERRED_STACK_BOUNDARY if it is not defined.
#define INT16_TYPE ((const char *) NULL) |
#define INT32_TYPE ((const char *) NULL) |
#define INT64_TYPE ((const char *) NULL) |
#define INT8_TYPE ((const char *) NULL) |
#define INT_FAST16_TYPE ((const char *) NULL) |
#define INT_FAST32_TYPE ((const char *) NULL) |
#define INT_FAST64_TYPE ((const char *) NULL) |
#define INT_FAST8_TYPE ((const char *) NULL) |
#define INT_LEAST16_TYPE ((const char *) NULL) |
#define INT_LEAST32_TYPE ((const char *) NULL) |
#define INT_LEAST64_TYPE ((const char *) NULL) |
#define INT_LEAST8_TYPE ((const char *) NULL) |
#define INT_TYPE_SIZE BITS_PER_WORD |
Referenced by default_mangle_assembler_name(), and fold_builtin_sprintf_chk_1().
#define INTMAX_TYPE |
#define INTPTR_TYPE ((const char *) NULL) |
#define LARGEST_EXPONENT_IS_NORMAL | ( | SIZE | ) | 0 |
#define LEGITIMATE_PIC_OPERAND_P | ( | X | ) | 1 |
Referenced by register_operand(), and validate_simplify_insn().
#define LOCAL_ALIGNMENT | ( | TYPE, | |
ALIGNMENT | |||
) | ALIGNMENT |
#define LOCAL_DECL_ALIGNMENT | ( | DECL | ) | LOCAL_ALIGNMENT (TREE_TYPE (DECL), DECL_ALIGN (DECL)) |
#define LOCAL_REGNO | ( | REGNO | ) | 0 |
#define LONG_ACCUM_TYPE_SIZE (LONG_FRACT_TYPE_SIZE * 2) |
Referenced by get_callee_fndecl().
#define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) |
#define LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 4) |
Referenced by decl_type_context().
#define LONG_LONG_ACCUM_TYPE_SIZE (LONG_LONG_FRACT_TYPE_SIZE * 2) |
Referenced by get_callee_fndecl().
#define LONG_LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 8) |
Referenced by decl_type_context().
#define LONG_LONG_TYPE_SIZE (BITS_PER_WORD * 2) |
Referenced by default_mangle_assembler_name().
#define LONG_TYPE_SIZE BITS_PER_WORD |
Referenced by default_mangle_assembler_name(), and final_start_function().
#define MALLOC_ABI_ALIGNMENT BITS_PER_WORD |
Default value for the alignment (in bits) a C conformant malloc has to provide. This default is intended to be safe and always correct.
#define MAX_BITS_PER_WORD BITS_PER_WORD |
#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (DImode) |
Referenced by store_bit_field().
#define MAX_MOVE_MAX MOVE_MAX |
#define MAX_OFILE_ALIGNMENT BIGGEST_ALIGNMENT |
Biggest alignment supported by the object file format of this machine.
Referenced by vect_load_lanes_supported().
#define MAX_STACK_ALIGNMENT STACK_BOUNDARY |
MAX_STACK_ALIGNMENT is the maximum stack alignment guaranteed by the backend. MAX_SUPPORTED_STACK_ALIGNMENT is the maximum best effort stack alignment supported by the backend. If the backend supports stack alignment, MAX_SUPPORTED_STACK_ALIGNMENT and MAX_STACK_ALIGNMENT are the same. Otherwise, the incoming stack boundary will limit the maximum guaranteed stack alignment.
Referenced by vect_load_lanes_supported().
#define MAX_SUPPORTED_STACK_ALIGNMENT PREFERRED_STACK_BOUNDARY |
Referenced by add_frame_space(), add_scope_conflicts(), insert_restore(), replace_reg_with_saved_mem(), and union_stack_vars().
#define MIN_UNITS_PER_WORD UNITS_PER_WORD |
#define MINIMUM_ALIGNMENT | ( | EXP, | |
MODE, | |||
ALIGN | |||
) | (ALIGN) |
#define MODIFIED_WCHAR_TYPE (flag_short_wchar ? "short unsigned int" : WCHAR_TYPE) |
WCHAR_TYPE gets overridden by -fshort-wchar.
#define MOVE_MAX_PIECES MOVE_MAX |
This macro is used to determine what the largest unit size that move_by_pieces can use is. MOVE_MAX_PIECES is the number of bytes at a time which we can move efficiently, as opposed to MOVE_MAX which is the maximum number of bytes we can move with a single instruction.
Referenced by alignment_for_piecewise_move(), and inline_forbidden_p_stmt().
#define MULTIPLE_SYMBOL_SPACES 0 |
By default we can assume that all global symbols are in one namespace, across all shared libraries.
#define NEXT_OBJC_RUNTIME 0 |
By default, use the GNU runtime for Objective C.
#define OUTGOING_REG_PARM_STACK_SPACE | ( | FNTYPE | ) | 0 |
Referenced by emit_library_call_value_1().
#define PIC_OFFSET_TABLE_REG_CALL_CLOBBERED 0 |
Referenced by rtx_unstable_p(), and rtx_varies_p().
#define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM |
Referenced by df_get_regular_block_artificial_uses(), and df_mark_reg().
#define PID_TYPE "int" |
#define POINTER_SIZE BITS_PER_WORD |
Width in bits of a pointer. Mind the value of the macro `Pmode'.
Referenced by size_of_sleb128(), ultimate_transparent_alias_target(), and weak_finish_1().
#define PREFERRED_DEBUGGING_TYPE NO_DEBUG |
If more than one debugging type is supported, you must define PREFERRED_DEBUGGING_TYPE to choose the default. No debugging format is supported by this target.
Referenced by handle_param().
#define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY |
If PREFERRED_STACK_BOUNDARY is not defined, set it to STACK_BOUNDARY. STACK_BOUNDARY is required.
Referenced by allocate_dynamic_stack_space(), and get_stack_local_alignment().
#define PTRDIFF_TYPE "long int" |
#define PUSH_ARGS 0 |
Supply a default definition for PUSH_ARGS.
#define PUSH_ARGS_REVERSED 0 |
Decide whether a function's arguments should be processed from first to last or from last to first.
They should if the stack and args grow in opposite directions, but only if we have push insns.
#define REG_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN |
Referenced by setup_allocno_assignment_flags().
#define REVERSIBLE_CC_MODE | ( | MODE | ) | 0 |
#define ROUND_TOWARDS_ZERO 0 |
#define SHIFT_COUNT_TRUNCATED 0 |
Referenced by default_unwind_word_mode(), and simplify_const_binary_operation().
#define SHORT_ACCUM_TYPE_SIZE (SHORT_FRACT_TYPE_SIZE * 2) |
Referenced by get_callee_fndecl().
#define SHORT_FRACT_TYPE_SIZE BITS_PER_UNIT |
Referenced by decl_type_context().
#define SHORT_TYPE_SIZE (BITS_PER_UNIT * MIN ((UNITS_PER_WORD + 1) / 2, 2)) |
Referenced by default_mangle_assembler_name().
#define SIG_ATOMIC_TYPE ((const char *) NULL) |
There are no default definitions of these <stdint.h> types.
#define SIZE_TYPE "long unsigned int" |
We let tm.h override the types used here, to handle trivial differences such as the choice of unsigned int or long unsigned int for size_t. When machines start needing nontrivial differences in the size type, it would be best to do something here to figure out automatically from other information what type to use.
#define SIZETYPE SIZE_TYPE |
#define SLOW_UNALIGNED_ACCESS | ( | MODE, | |
ALIGN | |||
) | STRICT_ALIGNMENT |
Referenced by lowpart_bit_field_p().
#define STACK_POINTER_OFFSET 0 |
Referenced by emit_library_call_value_1().
#define STACK_SLOT_ALIGNMENT | ( | TYPE, | |
MODE, | |||
ALIGN | |||
) | ((TYPE) ? LOCAL_ALIGNMENT ((TYPE), (ALIGN)) : (ALIGN)) |
Referenced by frame_offset_overflow().
#define STORE_FLAG_VALUE 1 |
Provide a default value for STORE_FLAG_VALUE.
Referenced by emit_cstore(), end_ifcvt_sequence(), simplify_set(), and subst().
#define SUPPORTS_DISCRIMINATOR 0 |
This determines whether or not we support the discriminator attribute in the .loc directive.
#define SUPPORTS_INIT_PRIORITY 1 |
If the target supports init_priority C++ attribute, give SUPPORTS_INIT_PRIORITY a nonzero value.
#define SUPPORTS_ONE_ONLY 0 |
This determines whether or not we support link-once semantics.
#define SUPPORTS_STACK_ALIGNMENT (MAX_STACK_ALIGNMENT > STACK_BOUNDARY) |
#define SUPPORTS_WEAK 0 |
This is how we tell the assembler that a symbol is weak. This is how we tell the assembler that a symbol is a weak alias to another symbol that doesn't require the other symbol to be defined. Uses of the former will turn into weak uses of the latter, i.e., uses that, in case the latter is undefined, will not cause errors, and will add it to the symbol table as weak undefined. However, if the latter is referenced directly, a strong reference prevails. How to emit a .type directive. How to emit a .size directive. This determines whether or not we support weak symbols. SUPPORTS_WEAK must be a preprocessor constant.
#define TARGET_ATTRIBUTE_WEAK |
If the target supports weak symbols, define TARGET_ATTRIBUTE_WEAK to provide a weak attribute. Else define it to nothing.
This would normally belong in ansidecl.h, but SUPPORTS_WEAK is not available at that time.
Note, this is only for use by target files which we know are to be compiled by GCC.
#define TARGET_DEC_EVAL_METHOD 2 |
#define TARGET_DECLSPEC 0 |
#define TARGET_DEFAULT_PACK_STRUCT 0 |
#define TARGET_DEFERRED_OUTPUT_DEFS | ( | DECL, | |
TARGET | |||
) | false |
Decide whether to defer emitting the assembler output for an equate of two values. The default is to not defer output.
#define TARGET_DLLIMPORT_DECL_ATTRIBUTES 0 |
#define TARGET_FLT_EVAL_METHOD 0 |
Referenced by maybe_canonicalize_argtypes().
#define TARGET_FLT_EVAL_METHOD_NON_DEFAULT 0 |
#define TARGET_HAS_BIONIC 0 |
Determin whether the target runtime library is Bionic
#define TARGET_LIB_INT_CMP_BIASED (true) |
True if the targets integer-comparison functions return { 0, 1, 2 } to indicate { <, ==, > }. False if { -1, 0, 1 } is used instead. The libgcc routines are biased.
#define TARGET_MEM_CONSTRAINT 'm' |
Referenced by decode_asm_operands(), and process_alt_operands().
#define TARGET_PTRMEMFUNC_VBIT_LOCATION |
By default, the C++ compiler will use the lowest bit of the pointer to function to indicate a pointer-to-member-function points to a virtual member function. However, if FUNCTION_BOUNDARY indicates function addresses aren't always even, the lowest bit of the delta field will be used.
#define TARGET_SUPPORTS_WEAK (SUPPORTS_WEAK) |
This determines whether or not we support weak symbols during target code generation. TARGET_SUPPORTS_WEAK can be any valid C expression.
Referenced by output_constructor_bitfield().
#define TARGET_USE_JCR_SECTION 0 |
If we have named section and we support weak symbols, then use the .jcr section for recording java classes which need to be registered at program start-up time. This decision to use a .jcr section can be overridden by defining USE_JCR_SECTION to 0 in target file. This is necessary if target can define JCR_SECTION_NAME but does not have crtstuff or linker support for .jcr section.
#define TARGET_USE_LOCAL_THUNK_ALIAS_P | ( | DECL | ) | 0 |
Decide whether it is safe to use a local alias for a virtual function when constructing thunks.
#define TARGET_USES_WEAK_UNWIND_INFO 0 |
This determines whether or not we need linkonce unwind information.
Referenced by fde_needed_for_eh_p().
#define TARGET_VTABLE_DATA_ENTRY_DISTANCE 1 |
There are a few non-descriptor entries in the vtable at offsets below zero. If these entries must be padded (say, to preserve the alignment specified by TARGET_VTABLE_ENTRY_ALIGN), set this to the number of words in each data entry.
#define TARGET_VTABLE_ENTRY_ALIGN POINTER_SIZE |
By default, the vtable entries are void pointers, the so the alignment is the same as pointer alignment. The value of this macro specifies the alignment of the vtable entry in bits. It should be defined only when special alignment is necessary.
#define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 0 |
This determines whether weak symbols must be left out of a static archive's table of contents. Defining this macro to be nonzero has the consequence that certain symbols will not be made weak that otherwise would be. The C++ ABI requires this macro to be zero; see the documentation.
#define TLS_COMMON_ASM_OP ".tls_common" |
#define TRAMPOLINE_ALIGNMENT FUNCTION_BOUNDARY |
Assume that trampolines need function alignment.
#define UINT16_TYPE ((const char *) NULL) |
#define UINT32_TYPE ((const char *) NULL) |
#define UINT64_TYPE ((const char *) NULL) |
#define UINT8_TYPE ((const char *) NULL) |
#define UINT_FAST16_TYPE ((const char *) NULL) |
#define UINT_FAST32_TYPE ((const char *) NULL) |
#define UINT_FAST64_TYPE ((const char *) NULL) |
#define UINT_FAST8_TYPE ((const char *) NULL) |
#define UINT_LEAST16_TYPE ((const char *) NULL) |
#define UINT_LEAST32_TYPE ((const char *) NULL) |
#define UINT_LEAST64_TYPE ((const char *) NULL) |
#define UINT_LEAST8_TYPE ((const char *) NULL) |
#define UINTMAX_TYPE |
#define UINTPTR_TYPE ((const char *) NULL) |
#define USE_MD_CONSTRAINTS |
If none of these macros are defined, the port must use the new technique of defining constraints in the machine description. tm_p.h will define those macros that machine-independent code still uses.
#define USER_LABEL_PREFIX "" |
By default, there is no prefix on user-defined symbols.
#define WCHAR_TYPE "int" |
#define WCHAR_TYPE_SIZE INT_TYPE_SIZE |
#define WINT_TYPE "unsigned int" |