30#ifndef ASM_COMMENT_START
31#define ASM_COMMENT_START ";#"
39# ifndef NO_DOT_IN_LABEL
40# define ASM_PN_FORMAT "%s.%lu"
42# ifndef NO_DOLLAR_IN_LABEL
43# define ASM_PN_FORMAT "%s$%lu"
45# define ASM_PN_FORMAT "__%s_%lu"
50#ifndef ASM_FORMAT_PRIVATE_NAME
51# define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \
52 do { const char *const name_ = (NAME); \
53 char *const output_ = (OUTPUT) = \
54 (char *) alloca (strlen (name_) + 32); \
55 sprintf (output_, ASM_PN_FORMAT, name_, (unsigned long)(LABELNO)); \
61#ifndef ASM_OUTPUT_ASCII
62#define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \
64 FILE *_my_file = (MYFILE); \
65 const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \
66 int _hide_thissize = (MYLENGTH); \
68 const unsigned char *p = _hide_p; \
69 int thissize = _hide_thissize; \
71 fprintf (_my_file, "\t.ascii \""); \
73 for (i = 0; i < thissize; i++) \
76 if (c == '\"' || c == '\\') \
77 putc ('\\', _my_file); \
82 fprintf (_my_file, "\\%o", c); \
83 /* After an octal-escape, if a digit follows, \
84 terminate one string constant and start another. \
85 The VAX assembler fails to stop reading the escape \
86 after three digits, so this is the only way we \
87 can get it to parse the data properly. */ \
88 if (i < thissize - 1 && ISDIGIT (p[i + 1])) \
89 fprintf (_my_file, "\"\n\t.ascii \""); \
92 fprintf (_my_file, "\"\n"); \
100#ifndef ASM_OUTPUT_DEF
101#define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \
102 do { fprintf ((FILE), "%s", SET_ASM_OP); \
103 assemble_name (FILE, LABEL1); \
104 fprintf (FILE, ","); \
105 assemble_name (FILE, LABEL2); \
106 fprintf (FILE, "\n"); \
111#ifndef IFUNC_ASM_TYPE
112#define IFUNC_ASM_TYPE "gnu_indirect_function"
115#ifndef TLS_COMMON_ASM_OP
116#define TLS_COMMON_ASM_OP ".tls_common"
119#if defined (HAVE_AS_TLS) && !defined (ASM_OUTPUT_TLS_COMMON)
120#define ASM_OUTPUT_TLS_COMMON(FILE, DECL, NAME, SIZE) \
123 fprintf ((FILE), "\t%s\t", TLS_COMMON_ASM_OP); \
124 assemble_name ((FILE), (NAME)); \
125 fprintf ((FILE), "," HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \
126 (SIZE), DECL_ALIGN (DECL) / BITS_PER_UNIT); \
133#ifndef TARGET_DEFERRED_OUTPUT_DEFS
134#define TARGET_DEFERRED_OUTPUT_DEFS(DECL,TARGET) false
140#ifndef ASM_OUTPUT_LABEL
141#define ASM_OUTPUT_LABEL(FILE,NAME) \
143 assemble_name ((FILE), (NAME)); \
144 fputs (":\n", (FILE)); \
151#ifndef ASM_OUTPUT_FUNCTION_LABEL
152#define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \
153 assemble_function_label_raw ((FILE), (NAME))
157#ifndef ASM_OUTPUT_INTERNAL_LABEL
158#define ASM_OUTPUT_INTERNAL_LABEL(FILE,NAME) \
160 assemble_name_raw ((FILE), (NAME)); \
161 fputs (":\n", (FILE)); \
167#ifndef ASM_OUTPUT_LABELREF
168#define ASM_OUTPUT_LABELREF(FILE,NAME) \
170 fputs (user_label_prefix, (FILE)); \
171 fputs ((NAME), (FILE)); \
179#ifndef ASM_OUTPUT_DEBUG_LABEL
180#define ASM_OUTPUT_DEBUG_LABEL(FILE, PREFIX, NUM) \
181 (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM)
185#ifndef ASM_OUTPUT_WEAK_ALIAS
186#if defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_DEF)
187#define ASM_OUTPUT_WEAK_ALIAS(STREAM, NAME, VALUE) \
190 ASM_WEAKEN_LABEL (STREAM, NAME); \
192 ASM_OUTPUT_DEF (STREAM, NAME, VALUE); \
204#ifndef ASM_OUTPUT_WEAKREF
205#if defined HAVE_GAS_WEAKREF
206#define ASM_OUTPUT_WEAKREF(FILE, DECL, NAME, VALUE) \
209 fprintf ((FILE), "\t.weakref\t"); \
210 assemble_name ((FILE), (NAME)); \
211 fprintf ((FILE), ","); \
212 assemble_name ((FILE), (VALUE)); \
213 fprintf ((FILE), "\n"); \
220#ifndef ASM_OUTPUT_TYPE_DIRECTIVE
221#if defined TYPE_ASM_OP && defined TYPE_OPERAND_FMT
222#define ASM_OUTPUT_TYPE_DIRECTIVE(STREAM, NAME, TYPE) \
225 fputs (TYPE_ASM_OP, STREAM); \
226 assemble_name (STREAM, NAME); \
227 fputs (", ", STREAM); \
228 fprintf (STREAM, TYPE_OPERAND_FMT, TYPE); \
229 putc ('\n', STREAM); \
236#ifndef ASM_OUTPUT_SIZE_DIRECTIVE
238#define ASM_OUTPUT_SIZE_DIRECTIVE(STREAM, NAME, SIZE) \
241 HOST_WIDE_INT size_ = (SIZE); \
242 fputs (SIZE_ASM_OP, STREAM); \
243 assemble_name (STREAM, NAME); \
244 fprintf (STREAM, ", " HOST_WIDE_INT_PRINT_DEC "\n", size_); \
248#define ASM_OUTPUT_MEASURED_SIZE(STREAM, NAME) \
251 fputs (SIZE_ASM_OP, STREAM); \
252 assemble_name (STREAM, NAME); \
253 fputs (", .-", STREAM); \
254 assemble_name (STREAM, NAME); \
255 putc ('\n', STREAM); \
265#if defined (ASM_WEAKEN_LABEL) || defined (ASM_WEAKEN_DECL)
266#define SUPPORTS_WEAK 1
268#define SUPPORTS_WEAK 0
274#ifndef TARGET_SUPPORTS_WEAK
275#define TARGET_SUPPORTS_WEAK (SUPPORTS_WEAK)
280#ifndef SUPPORTS_DISCRIMINATOR
281#ifdef HAVE_GAS_DISCRIMINATOR
282#define SUPPORTS_DISCRIMINATOR 1
284#define SUPPORTS_DISCRIMINATOR 0
291#ifndef SUPPORTS_SHF_GNU_RETAIN
292#if HAVE_GAS_SHF_GNU_RETAIN && HAVE_INITFINI_ARRAY_SUPPORT
293#define SUPPORTS_SHF_GNU_RETAIN 1
295#define SUPPORTS_SHF_GNU_RETAIN 0
300#ifndef SUPPORTS_ONE_ONLY
301#ifdef MAKE_DECL_ONE_ONLY
302#define SUPPORTS_ONE_ONLY 1
304#define SUPPORTS_ONE_ONLY 0
313#ifndef TARGET_WEAK_NOT_IN_ARCHIVE_TOC
314#define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 0
318#ifndef TARGET_USES_WEAK_UNWIND_INFO
319#define TARGET_USES_WEAK_UNWIND_INFO 0
323#ifndef USER_LABEL_PREFIX
324#define USER_LABEL_PREFIX ""
335#ifndef TARGET_ATTRIBUTE_WEAK
337# define TARGET_ATTRIBUTE_WEAK __attribute__ ((weak))
339# define TARGET_ATTRIBUTE_WEAK
345#ifndef MULTIPLE_SYMBOL_SPACES
346# define MULTIPLE_SYMBOL_SPACES 0
351#ifndef SUPPORTS_INIT_PRIORITY
352#define SUPPORTS_INIT_PRIORITY 1
357#if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX)
358#define DWARF2_UNWIND_INFO 1
363#if defined (TARGET_ASM_NAMED_SECTION) && DWARF2_UNWIND_INFO \
364 && !defined (EH_FRAME_THROUGH_COLLECT2)
365#ifndef EH_FRAME_SECTION_NAME
366#define EH_FRAME_SECTION_NAME ".eh_frame"
382#ifndef EH_TABLES_CAN_BE_READ_ONLY
383#ifdef HAVE_LD_RO_RW_SECTION_MIXING
384#define EH_TABLES_CAN_BE_READ_ONLY 1
386#define EH_TABLES_CAN_BE_READ_ONLY 0
392#ifndef EH_RETURN_DATA_REGNO
393#define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM
397#ifndef RETURN_ADDR_OFFSET
398#define RETURN_ADDR_OFFSET 0
401#ifndef MASK_RETURN_ADDR
402#define MASK_RETURN_ADDR NULL_RTX
408#ifndef DWARF_FRAME_REGISTERS
409#define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER
413#ifndef DWARF_CIE_DATA_ALIGNMENT
414#ifdef STACK_GROWS_DOWNWARD
415#define DWARF_CIE_DATA_ALIGNMENT (-((int) UNITS_PER_WORD))
417#define DWARF_CIE_DATA_ALIGNMENT ((int) UNITS_PER_WORD)
424#ifndef DWARF_FRAME_RETURN_COLUMN
426#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (PC_REGNUM)
428#define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGISTERS
435#ifndef DEBUGGER_REGNO
436#define DEBUGGER_REGNO(REGNO) (REGNO)
441#ifndef DWARF_FRAME_REGNUM
442#define DWARF_FRAME_REGNUM(REG) DEBUGGER_REGNO (REG)
446#ifndef DWARF_REG_TO_UNWIND_COLUMN
447#define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO)
453#ifndef DWARF2_FRAME_REG_OUT
454#define DWARF2_FRAME_REG_OUT(REGNO, FOR_EH) (REGNO)
462#ifndef DWARF2_ADDR_SIZE
463#define DWARF2_ADDR_SIZE ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT)
470#ifndef DWARF_OFFSET_SIZE
471#define DWARF_OFFSET_SIZE 4
475#ifndef DWARF_TYPE_SIGNATURE_SIZE
476#define DWARF_TYPE_SIGNATURE_SIZE 8
484#define BITS_PER_WORD (BITS_PER_UNIT * UNITS_PER_WORD)
487#ifndef CHAR_TYPE_SIZE
488#define CHAR_TYPE_SIZE BITS_PER_UNIT
491#ifndef BOOL_TYPE_SIZE
493#define BOOL_TYPE_SIZE CHAR_TYPE_SIZE
496#ifndef SHORT_TYPE_SIZE
497#define SHORT_TYPE_SIZE (BITS_PER_UNIT * MIN ((UNITS_PER_WORD + 1) / 2, 2))
501#define INT_TYPE_SIZE BITS_PER_WORD
504#ifndef LONG_TYPE_SIZE
505#define LONG_TYPE_SIZE BITS_PER_WORD
508#ifndef LONG_LONG_TYPE_SIZE
509#define LONG_LONG_TYPE_SIZE (BITS_PER_WORD * 2)
512#ifndef WCHAR_TYPE_SIZE
513#define WCHAR_TYPE_SIZE INT_TYPE_SIZE
516#ifndef DECIMAL32_TYPE_SIZE
517#define DECIMAL32_TYPE_SIZE 32
520#ifndef DECIMAL64_TYPE_SIZE
521#define DECIMAL64_TYPE_SIZE 64
524#ifndef DECIMAL128_TYPE_SIZE
525#define DECIMAL128_TYPE_SIZE 128
528#ifndef SHORT_FRACT_TYPE_SIZE
529#define SHORT_FRACT_TYPE_SIZE BITS_PER_UNIT
532#ifndef FRACT_TYPE_SIZE
533#define FRACT_TYPE_SIZE (BITS_PER_UNIT * 2)
536#ifndef LONG_FRACT_TYPE_SIZE
537#define LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 4)
540#ifndef LONG_LONG_FRACT_TYPE_SIZE
541#define LONG_LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 8)
544#ifndef SHORT_ACCUM_TYPE_SIZE
545#define SHORT_ACCUM_TYPE_SIZE (SHORT_FRACT_TYPE_SIZE * 2)
548#ifndef ACCUM_TYPE_SIZE
549#define ACCUM_TYPE_SIZE (FRACT_TYPE_SIZE * 2)
552#ifndef LONG_ACCUM_TYPE_SIZE
553#define LONG_ACCUM_TYPE_SIZE (LONG_FRACT_TYPE_SIZE * 2)
556#ifndef LONG_LONG_ACCUM_TYPE_SIZE
557#define LONG_LONG_ACCUM_TYPE_SIZE (LONG_LONG_FRACT_TYPE_SIZE * 2)
567#define SIZE_TYPE "long unsigned int"
571#define SIZETYPE SIZE_TYPE
575#define PID_TYPE "int"
585#define CHAR8_TYPE "unsigned char"
588#ifdef UINT_LEAST16_TYPE
589#define CHAR16_TYPE UINT_LEAST16_TYPE
591#define CHAR16_TYPE "short unsigned int"
594#ifdef UINT_LEAST32_TYPE
595#define CHAR32_TYPE UINT_LEAST32_TYPE
597#define CHAR32_TYPE "unsigned int"
601#define WCHAR_TYPE "int"
605#define MODIFIED_WCHAR_TYPE \
606 (flag_short_wchar ? "short unsigned int" : WCHAR_TYPE)
609#define PTRDIFF_TYPE "long int"
613#define WINT_TYPE "unsigned int"
617#define INTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \
619 : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \
625#define UINTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \
627 : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \
628 ? "long unsigned int" \
629 : "long long unsigned int"))
635#ifndef SIG_ATOMIC_TYPE
636#define SIG_ATOMIC_TYPE ((const char *) NULL)
640#define INT8_TYPE ((const char *) NULL)
644#define INT16_TYPE ((const char *) NULL)
648#define INT32_TYPE ((const char *) NULL)
652#define INT64_TYPE ((const char *) NULL)
656#define UINT8_TYPE ((const char *) NULL)
660#define UINT16_TYPE ((const char *) NULL)
664#define UINT32_TYPE ((const char *) NULL)
668#define UINT64_TYPE ((const char *) NULL)
671#ifndef INT_LEAST8_TYPE
672#define INT_LEAST8_TYPE ((const char *) NULL)
675#ifndef INT_LEAST16_TYPE
676#define INT_LEAST16_TYPE ((const char *) NULL)
679#ifndef INT_LEAST32_TYPE
680#define INT_LEAST32_TYPE ((const char *) NULL)
683#ifndef INT_LEAST64_TYPE
684#define INT_LEAST64_TYPE ((const char *) NULL)
687#ifndef UINT_LEAST8_TYPE
688#define UINT_LEAST8_TYPE ((const char *) NULL)
691#ifndef UINT_LEAST16_TYPE
692#define UINT_LEAST16_TYPE ((const char *) NULL)
695#ifndef UINT_LEAST32_TYPE
696#define UINT_LEAST32_TYPE ((const char *) NULL)
699#ifndef UINT_LEAST64_TYPE
700#define UINT_LEAST64_TYPE ((const char *) NULL)
703#ifndef INT_FAST8_TYPE
704#define INT_FAST8_TYPE ((const char *) NULL)
707#ifndef INT_FAST16_TYPE
708#define INT_FAST16_TYPE ((const char *) NULL)
711#ifndef INT_FAST32_TYPE
712#define INT_FAST32_TYPE ((const char *) NULL)
715#ifndef INT_FAST64_TYPE
716#define INT_FAST64_TYPE ((const char *) NULL)
719#ifndef UINT_FAST8_TYPE
720#define UINT_FAST8_TYPE ((const char *) NULL)
723#ifndef UINT_FAST16_TYPE
724#define UINT_FAST16_TYPE ((const char *) NULL)
727#ifndef UINT_FAST32_TYPE
728#define UINT_FAST32_TYPE ((const char *) NULL)
731#ifndef UINT_FAST64_TYPE
732#define UINT_FAST64_TYPE ((const char *) NULL)
736#define INTPTR_TYPE ((const char *) NULL)
740#define UINTPTR_TYPE ((const char *) NULL)
745#define POINTER_SIZE BITS_PER_WORD
747#ifndef POINTER_SIZE_UNITS
748#define POINTER_SIZE_UNITS ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT)
752#ifndef PIC_OFFSET_TABLE_REGNUM
753#define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM
756#ifndef PIC_OFFSET_TABLE_REG_CALL_CLOBBERED
757#define PIC_OFFSET_TABLE_REG_CALL_CLOBBERED 0
760#ifndef TARGET_DLLIMPORT_DECL_ATTRIBUTES
761#define TARGET_DLLIMPORT_DECL_ATTRIBUTES 0
764#ifndef TARGET_DECLSPEC
765#if TARGET_DLLIMPORT_DECL_ATTRIBUTES
768#define TARGET_DECLSPEC 1
770#define TARGET_DECLSPEC 0
776#ifndef CPLUSPLUS_CPP_SPEC
778#define CPLUSPLUS_CPP_SPEC CPP_SPEC
782#ifndef ACCUMULATE_OUTGOING_ARGS
783#define ACCUMULATE_OUTGOING_ARGS 0
787#ifndef NEXT_OBJC_RUNTIME
788#define NEXT_OBJC_RUNTIME 0
799#ifndef PUSH_ARGS_REVERSED
800#if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD)
801#define PUSH_ARGS_REVERSED targetm.calls.push_argument (0)
807#ifndef PUSH_ARGS_REVERSED
808#define PUSH_ARGS_REVERSED 0
813#ifndef MALLOC_ABI_ALIGNMENT
814#define MALLOC_ABI_ALIGNMENT BITS_PER_WORD
819#ifndef PREFERRED_STACK_BOUNDARY
820#define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY
825#ifndef INCOMING_STACK_BOUNDARY
826#define INCOMING_STACK_BOUNDARY PREFERRED_STACK_BOUNDARY
829#ifndef TARGET_DEFAULT_PACK_STRUCT
830#define TARGET_DEFAULT_PACK_STRUCT 0
837#ifndef TARGET_VTABLE_ENTRY_ALIGN
838#define TARGET_VTABLE_ENTRY_ALIGN POINTER_SIZE
845#ifndef TARGET_VTABLE_DATA_ENTRY_DISTANCE
846#define TARGET_VTABLE_DATA_ENTRY_DISTANCE 1
851#ifndef TARGET_USE_LOCAL_THUNK_ALIAS_P
853#define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 1
855#define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 0
860#ifndef TARGET_SUPPORTS_ALIASES
862#define TARGET_SUPPORTS_ALIASES 1
864#define TARGET_SUPPORTS_ALIASES 0
873#ifndef TARGET_HAS_FMV_TARGET_ATTRIBUTE
874#define TARGET_HAS_FMV_TARGET_ATTRIBUTE 1
881#ifndef ASM_PREFERRED_EH_DATA_FORMAT
882#define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) DW_EH_PE_absptr
890#ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION
891#define TARGET_PTRMEMFUNC_VBIT_LOCATION \
892 (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \
893 ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta)
896#ifndef DEFAULT_GDB_EXTENSIONS
897#define DEFAULT_GDB_EXTENSIONS 1
902#ifndef PREFERRED_DEBUGGING_TYPE
903#if defined DWARF2_DEBUGGING_INFO || defined DWARF2_LINENO_DEBUGGING_INFO
904#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
906#error You must define PREFERRED_DEBUGGING_TYPE if DWARF is not supported
910#ifndef FLOAT_LIB_COMPARE_RETURNS_BOOL
911#define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) false
917#ifndef TARGET_LIB_INT_CMP_BIASED
918#define TARGET_LIB_INT_CMP_BIASED (true)
923#ifndef FLOAT_WORDS_BIG_ENDIAN
924#define FLOAT_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN
927#ifndef REG_WORDS_BIG_ENDIAN
928#define REG_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN
932#ifndef TARGET_DEC_EVAL_METHOD
933#define TARGET_DEC_EVAL_METHOD 2
936#ifndef HAS_LONG_COND_BRANCH
937#define HAS_LONG_COND_BRANCH 0
940#ifndef HAS_LONG_UNCOND_BRANCH
941#define HAS_LONG_UNCOND_BRANCH 0
946#ifndef DEFAULT_USE_CXA_ATEXIT
947#define DEFAULT_USE_CXA_ATEXIT 0
950#if GCC_VERSION >= 3000 && defined IN_GCC
956#ifndef TARGET_HAS_BIONIC
957#define TARGET_HAS_BIONIC 0
961#ifndef CLZ_DEFINED_VALUE_AT_ZERO
962#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0
964#ifndef CTZ_DEFINED_VALUE_AT_ZERO
965#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0
969#ifndef STORE_FLAG_VALUE
970#define STORE_FLAG_VALUE 1
980#ifndef MOVE_MAX_PIECES
981#define MOVE_MAX_PIECES MOVE_MAX
989#ifndef STORE_MAX_PIECES
990#define STORE_MAX_PIECES MIN (MOVE_MAX_PIECES, 2 * sizeof (HOST_WIDE_INT))
994#ifndef COMPARE_MAX_PIECES
995#define COMPARE_MAX_PIECES MOVE_MAX_PIECES
999#define MAX_MOVE_MAX MOVE_MAX
1002#ifndef MIN_UNITS_PER_WORD
1003#define MIN_UNITS_PER_WORD UNITS_PER_WORD
1006#ifndef MAX_BITS_PER_WORD
1007#define MAX_BITS_PER_WORD BITS_PER_WORD
1010#ifndef STACK_POINTER_OFFSET
1011#define STACK_POINTER_OFFSET 0
1015#define LOCAL_REGNO(REGNO) 0
1018#ifndef HONOR_REG_ALLOC_ORDER
1019#define HONOR_REG_ALLOC_ORDER 0
1025#ifndef EXIT_IGNORE_STACK
1026#define EXIT_IGNORE_STACK 0
1030#ifndef CASE_VECTOR_PC_RELATIVE
1031#define CASE_VECTOR_PC_RELATIVE 0
1036#define FUNCTION_ALIGNMENT(ALIGN) \
1037 (lang_hooks.custom_function_descriptors \
1038 && targetm.calls.custom_function_descriptors > 0 \
1040 2 * targetm.calls.custom_function_descriptors * BITS_PER_UNIT)\
1044#ifndef TRAMPOLINE_ALIGNMENT
1045#define TRAMPOLINE_ALIGNMENT FUNCTION_ALIGNMENT (FUNCTION_BOUNDARY)
1049#ifndef INCOMING_REGNO
1050#define INCOMING_REGNO(N) (N)
1053#ifndef OUTGOING_REGNO
1054#define OUTGOING_REGNO(N) (N)
1057#ifndef SHIFT_COUNT_TRUNCATED
1058#define SHIFT_COUNT_TRUNCATED 0
1061#ifndef LEGITIMATE_PIC_OPERAND_P
1062#define LEGITIMATE_PIC_OPERAND_P(X) 1
1065#ifndef TARGET_MEM_CONSTRAINT
1066#define TARGET_MEM_CONSTRAINT 'm'
1069#ifndef REVERSIBLE_CC_MODE
1070#define REVERSIBLE_CC_MODE(MODE) 0
1074#ifndef MAX_OFILE_ALIGNMENT
1075#define MAX_OFILE_ALIGNMENT BIGGEST_ALIGNMENT
1078#ifndef FRAME_GROWS_DOWNWARD
1079#define FRAME_GROWS_DOWNWARD 0
1082#ifndef RETURN_ADDR_IN_PREVIOUS_FRAME
1083#define RETURN_ADDR_IN_PREVIOUS_FRAME 0
1087#ifndef ARG_POINTER_CFA_OFFSET
1088#define ARG_POINTER_CFA_OFFSET(FNDECL) \
1089 (FIRST_PARM_OFFSET (FNDECL) + crtl->args.pretend_args_size)
1093#ifndef CFA_FRAME_BASE_OFFSET
1094#define CFA_FRAME_BASE_OFFSET(FNDECL) 0
1099#ifndef INCOMING_FRAME_SP_OFFSET
1100#define INCOMING_FRAME_SP_OFFSET 0
1103#ifndef HARD_REGNO_NREGS_HAS_PADDING
1104#define HARD_REGNO_NREGS_HAS_PADDING(REGNO, MODE) 0
1105#define HARD_REGNO_NREGS_WITH_PADDING(REGNO, MODE) -1
1108#ifndef OUTGOING_REG_PARM_STACK_SPACE
1109#define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 0
1118#ifdef MAX_STACK_ALIGNMENT
1119#define MAX_SUPPORTED_STACK_ALIGNMENT MAX_STACK_ALIGNMENT
1121#define MAX_STACK_ALIGNMENT STACK_BOUNDARY
1122#define MAX_SUPPORTED_STACK_ALIGNMENT PREFERRED_STACK_BOUNDARY
1125#define SUPPORTS_STACK_ALIGNMENT (MAX_STACK_ALIGNMENT > STACK_BOUNDARY)
1127#ifndef LOCAL_ALIGNMENT
1128#define LOCAL_ALIGNMENT(TYPE, ALIGNMENT) ALIGNMENT
1131#ifndef STACK_SLOT_ALIGNMENT
1132#define STACK_SLOT_ALIGNMENT(TYPE,MODE,ALIGN) \
1133 ((TYPE) ? LOCAL_ALIGNMENT ((TYPE), (ALIGN)) : (ALIGN))
1136#ifndef LOCAL_DECL_ALIGNMENT
1137#define LOCAL_DECL_ALIGNMENT(DECL) \
1138 LOCAL_ALIGNMENT (TREE_TYPE (DECL), DECL_ALIGN (DECL))
1141#ifndef MINIMUM_ALIGNMENT
1142#define MINIMUM_ALIGNMENT(EXP,MODE,ALIGN) (ALIGN)
1146#ifndef ATTRIBUTE_ALIGNED_VALUE
1147#define ATTRIBUTE_ALIGNED_VALUE BIGGEST_ALIGNMENT
1152#ifndef CONSTANT_ADDRESS_P
1153#define CONSTANT_ADDRESS_P(X) (CONSTANT_P (X) && GET_CODE (X) != CONST_DOUBLE)
1156#ifndef MAX_FIXED_MODE_SIZE
1157#define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (DImode)
1165#ifndef DEFAULT_PCC_STRUCT_RETURN
1166#define DEFAULT_PCC_STRUCT_RETURN 1
1169#ifndef PCC_BITFIELD_TYPE_MATTERS
1170#define PCC_BITFIELD_TYPE_MATTERS false
1173#ifndef INSN_SETS_ARE_DELAYED
1174#define INSN_SETS_ARE_DELAYED(INSN) false
1177#ifndef INSN_REFERENCES_ARE_DELAYED
1178#define INSN_REFERENCES_ARE_DELAYED(INSN) false
1181#ifndef NO_FUNCTION_CSE
1182#define NO_FUNCTION_CSE false
1185#ifndef HARD_REGNO_RENAME_OK
1186#define HARD_REGNO_RENAME_OK(FROM, TO) true
1189#ifndef EPILOGUE_USES
1190#define EPILOGUE_USES(REG) false
1193#ifndef ARGS_GROW_DOWNWARD
1194#define ARGS_GROW_DOWNWARD 0
1197#ifndef STACK_GROWS_DOWNWARD
1198#define STACK_GROWS_DOWNWARD 0
1201#ifndef STACK_PUSH_CODE
1202#if STACK_GROWS_DOWNWARD
1203#define STACK_PUSH_CODE PRE_DEC
1205#define STACK_PUSH_CODE PRE_INC
1213#ifdef ENABLE_DEFAULT_PIE
1214# ifndef DEFAULT_FLAG_PIE
1215# define DEFAULT_FLAG_PIE 2
1218# define DEFAULT_FLAG_PIE 0
1221#ifndef SWITCHABLE_TARGET
1222#define SWITCHABLE_TARGET 0
1229#ifndef TARGET_SUPPORTS_WIDE_INT
1230#define TARGET_SUPPORTS_WIDE_INT 0
1233#ifndef SHORT_IMMEDIATES_SIGN_EXTEND
1234#define SHORT_IMMEDIATES_SIGN_EXTEND 0
1237#ifndef WORD_REGISTER_OPERATIONS
1238#define WORD_REGISTER_OPERATIONS 0
1241#ifndef LOAD_EXTEND_OP
1242#define LOAD_EXTEND_OP(M) UNKNOWN
1245#ifndef INITIAL_FRAME_ADDRESS_RTX
1246#define INITIAL_FRAME_ADDRESS_RTX NULL
1249#ifndef SETUP_FRAME_ADDRESSES
1250#define SETUP_FRAME_ADDRESSES() do { } while (0)
1253#ifndef DYNAMIC_CHAIN_ADDRESS
1254#define DYNAMIC_CHAIN_ADDRESS(x) (x)
1257#ifndef FRAME_ADDR_RTX
1258#define FRAME_ADDR_RTX(x) (x)
1261#ifndef REVERSE_CONDITION
1262#define REVERSE_CONDITION(code, mode) reverse_condition (code)
1265#ifndef TARGET_PECOFF
1266#define TARGET_PECOFF 0
1270#define TARGET_COFF 0
1273#ifndef EH_RETURN_HANDLER_RTX
1274#define EH_RETURN_HANDLER_RTX NULL
1277#ifdef GCC_INSN_FLAGS_H
1297#define BRANCH_COST(speed_p, predictable_p) 1
1304#if defined (HAVE_cpymemqi) || defined (HAVE_cpymemhi) || defined (HAVE_cpymemsi) || defined (HAVE_cpymemdi) || defined (HAVE_cpymemti)
1305#define MOVE_RATIO(speed) 2
1308#define MOVE_RATIO(speed) ((speed) ? 15 : 3)
1316#if defined (HAVE_setmemqi) || defined (HAVE_setmemhi) || defined (HAVE_setmemsi) || defined (HAVE_setmemdi) || defined (HAVE_setmemti)
1317#define CLEAR_RATIO(speed) 2
1320#define CLEAR_RATIO(speed) ((speed) ? 15 :3)
1328#define SET_RATIO(speed) MOVE_RATIO (speed)
1334#ifndef STACK_SAVEAREA_MODE
1335#define STACK_SAVEAREA_MODE(LEVEL) Pmode
1341#ifndef STACK_SIZE_MODE
1342#define STACK_SIZE_MODE word_mode
1349#ifdef ENABLE_DEFAULT_SSP
1350# ifndef DEFAULT_FLAG_SSP
1351# define DEFAULT_FLAG_SSP 3
1354# define DEFAULT_FLAG_SSP 0
1360#ifndef STACK_CHECK_BUILTIN
1361#define STACK_CHECK_BUILTIN 0
1365#ifndef STACK_CHECK_STATIC_BUILTIN
1366#define STACK_CHECK_STATIC_BUILTIN 0
1370#ifndef STACK_CHECK_PROBE_INTERVAL_EXP
1371#define STACK_CHECK_PROBE_INTERVAL_EXP 12
1375#ifndef STACK_CHECK_MOVING_SP
1376#define STACK_CHECK_MOVING_SP 0
1384#ifdef STACK_CHECK_PROTECT
1385#define STACK_OLD_CHECK_PROTECT STACK_CHECK_PROTECT
1387#define STACK_OLD_CHECK_PROTECT \
1388 (!global_options.x_flag_exceptions \
1389 ? 75 * UNITS_PER_WORD \
1390 : targetm_common.except_unwind_info (&global_options) == UI_SJLJ \
1398#ifndef STACK_CHECK_PROTECT
1399#define STACK_CHECK_PROTECT \
1400 (!global_options.x_flag_exceptions \
1402 : targetm_common.except_unwind_info (&global_options) == UI_SJLJ \
1409#ifndef STACK_CHECK_MAX_FRAME_SIZE
1410#define STACK_CHECK_MAX_FRAME_SIZE \
1411 ((1 << STACK_CHECK_PROBE_INTERVAL_EXP) - UNITS_PER_WORD)
1415#ifndef STACK_CHECK_FIXED_FRAME_SIZE
1416#define STACK_CHECK_FIXED_FRAME_SIZE (4 * UNITS_PER_WORD)
1422#ifndef STACK_CHECK_MAX_VAR_SIZE
1423#define STACK_CHECK_MAX_VAR_SIZE (STACK_CHECK_MAX_FRAME_SIZE / 100)
1432#ifndef TARGET_VTABLE_USES_DESCRIPTORS
1433#define TARGET_VTABLE_USES_DESCRIPTORS 0
1438#ifndef DWARF_GNAT_ENCODINGS_DEFAULT
1439#define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB
1444#ifndef DWARF_VERSION_DEFAULT
1445#define DWARF_VERSION_DEFAULT 5
1448#ifndef USED_FOR_TARGET
1450#if BITS_PER_UNIT == 8
1451#define TARGET_UNIT uint8_t
1452#elif BITS_PER_UNIT == 16
1453#define TARGET_UNIT uint16_t
1454#elif BITS_PER_UNIT == 32
1455#define TARGET_UNIT uint32_t
1457#error Unknown BITS_PER_UNIT
TARGET_UNIT target_unit
Definition defaults.h:1455