30 # define va_copy(d,s) __va_copy (d, s)
32 # define va_copy(d,s) ((d) = (s))
56 #define fopen(PATH, MODE) fopen_unlocked (PATH, MODE)
57 #define fdopen(FILDES, MODE) fdopen_unlocked (FILDES, MODE)
58 #define freopen(PATH, MODE, STREAM) freopen_unlocked (PATH, MODE, STREAM)
73 #if defined HAVE_DECL_PUTC_UNLOCKED && HAVE_DECL_PUTC_UNLOCKED
75 # ifdef HAVE_PUTC_UNLOCKED
77 # define putc(C, Stream) putc_unlocked (C, Stream)
79 # ifdef HAVE_PUTCHAR_UNLOCKED
81 # define putchar(C) putchar_unlocked (C)
83 # ifdef HAVE_GETC_UNLOCKED
85 # define getc(Stream) getc_unlocked (Stream)
87 # ifdef HAVE_GETCHAR_UNLOCKED
89 # define getchar() getchar_unlocked ()
91 # ifdef HAVE_FPUTC_UNLOCKED
93 # define fputc(C, Stream) fputc_unlocked (C, Stream)
100 # ifdef HAVE_CLEARERR_UNLOCKED
102 # define clearerr(Stream) clearerr_unlocked (Stream)
103 # if defined (HAVE_DECL_CLEARERR_UNLOCKED) && !HAVE_DECL_CLEARERR_UNLOCKED
104 extern void clearerr_unlocked (FILE *);
107 # ifdef HAVE_FEOF_UNLOCKED
109 # define feof(Stream) feof_unlocked (Stream)
110 # if defined (HAVE_DECL_FEOF_UNLOCKED) && !HAVE_DECL_FEOF_UNLOCKED
111 extern int feof_unlocked (FILE *);
114 # ifdef HAVE_FILENO_UNLOCKED
116 # define fileno(Stream) fileno_unlocked (Stream)
117 # if defined (HAVE_DECL_FILENO_UNLOCKED) && !HAVE_DECL_FILENO_UNLOCKED
118 extern int fileno_unlocked (FILE *);
121 # ifdef HAVE_FFLUSH_UNLOCKED
123 # define fflush(Stream) fflush_unlocked (Stream)
124 # if defined (HAVE_DECL_FFLUSH_UNLOCKED) && !HAVE_DECL_FFLUSH_UNLOCKED
125 extern int fflush_unlocked (FILE *);
128 # ifdef HAVE_FGETC_UNLOCKED
130 # define fgetc(Stream) fgetc_unlocked (Stream)
131 # if defined (HAVE_DECL_FGETC_UNLOCKED) && !HAVE_DECL_FGETC_UNLOCKED
132 extern int fgetc_unlocked (FILE *);
135 # ifdef HAVE_FGETS_UNLOCKED
137 # define fgets(S, n, Stream) fgets_unlocked (S, n, Stream)
138 # if defined (HAVE_DECL_FGETS_UNLOCKED) && !HAVE_DECL_FGETS_UNLOCKED
139 extern char *fgets_unlocked (
char *,
int, FILE *);
142 # ifdef HAVE_FPUTS_UNLOCKED
144 # define fputs(String, Stream) fputs_unlocked (String, Stream)
145 # if defined (HAVE_DECL_FPUTS_UNLOCKED) && !HAVE_DECL_FPUTS_UNLOCKED
146 extern int fputs_unlocked (
const char *, FILE *);
149 # ifdef HAVE_FERROR_UNLOCKED
151 # define ferror(Stream) ferror_unlocked (Stream)
152 # if defined (HAVE_DECL_FERROR_UNLOCKED) && !HAVE_DECL_FERROR_UNLOCKED
153 extern int ferror_unlocked (FILE *);
156 # ifdef HAVE_FREAD_UNLOCKED
158 # define fread(Ptr, Size, N, Stream) fread_unlocked (Ptr, Size, N, Stream)
159 # if defined (HAVE_DECL_FREAD_UNLOCKED) && !HAVE_DECL_FREAD_UNLOCKED
160 extern size_t fread_unlocked (
void *,
size_t,
size_t, FILE *);
163 # ifdef HAVE_FWRITE_UNLOCKED
165 # define fwrite(Ptr, Size, N, Stream) fwrite_unlocked (Ptr, Size, N, Stream)
166 # if defined (HAVE_DECL_FWRITE_UNLOCKED) && !HAVE_DECL_FWRITE_UNLOCKED
167 extern size_t fwrite_unlocked (
const void *,
size_t,
size_t, FILE *);
170 # ifdef HAVE_FPRINTF_UNLOCKED
174 # define fprintf fprintf_unlocked
175 # if defined (HAVE_DECL_FPRINTF_UNLOCKED) && !HAVE_DECL_FPRINTF_UNLOCKED
176 extern int fprintf_unlocked (FILE *,
const char *, ...);
188 #undef fread_unlocked
189 #undef fwrite_unlocked
194 #include "safe-ctype.h"
196 #include <sys/types.h>
200 #if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
210 #define __NO_STRING_INLINES
212 #ifdef STRING_WITH_STRINGS
214 # include <strings.h>
216 # ifdef HAVE_STRING_H
219 # ifdef HAVE_STRINGS_H
220 # include <strings.h>
243 #ifndef SUCCESS_EXIT_CODE
245 # define SUCCESS_EXIT_CODE EXIT_SUCCESS
247 # define SUCCESS_EXIT_CODE 0
251 #ifndef FATAL_EXIT_CODE
253 # define FATAL_EXIT_CODE EXIT_FAILURE
255 # define FATAL_EXIT_CODE 1
259 #define ICE_EXIT_CODE 4
265 #ifdef HAVE_SYS_PARAM_H
266 # include <sys/param.h>
283 #define IN_RANGE(VALUE, LOWER, UPPER) \
284 ((unsigned HOST_WIDE_INT) (VALUE) - (unsigned HOST_WIDE_INT) (LOWER) \
285 <= (unsigned HOST_WIDE_INT) (UPPER) - (unsigned HOST_WIDE_INT) (LOWER))
291 #define INTTYPE_SIGNED(t) (! ((t) 0 < (t) -1))
294 #define INTTYPE_MINIMUM(t) ((t) (INTTYPE_SIGNED (t) \
295 ? ~ (t) 0 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
296 #define INTTYPE_MAXIMUM(t) ((t) (~ (t) 0 - INTTYPE_MINIMUM (t)))
300 # define UCHAR_MAX INTTYPE_MAXIMUM (unsigned char)
303 #ifdef TIME_WITH_SYS_TIME
304 # include <sys/time.h>
308 # include <sys/time.h>
319 # ifdef HAVE_SYS_FILE_H
320 # include <sys/file.h>
351 #define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
352 #define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
355 #define CEIL(x,y) (((x) + (y) - 1) / (y))
357 #ifdef HAVE_SYS_WAIT_H
358 #include <sys/wait.h>
362 #define WIFSIGNALED(S) (((S) & 0xff) != 0 && ((S) & 0xff) != 0x7f)
365 #define WTERMSIG(S) ((S) & 0x7f)
368 #define WIFEXITED(S) (((S) & 0xff) == 0)
371 #define WEXITSTATUS(S) (((S) & 0xff00) >> 8)
374 #define WSTOPSIG WEXITSTATUS
377 #define WCOREDUMP(S) ((S) & WCOREFLG)
380 #define WCOREFLG 0200
384 #if !defined (SIGCHLD) && defined (SIGCLD)
385 # define SIGCHLD SIGCLD
388 #ifdef HAVE_SYS_MMAN_H
389 # include <sys/mman.h>
393 # define MAP_FAILED ((void *)-1)
396 #if !defined (MAP_ANONYMOUS) && defined (MAP_ANON)
397 # define MAP_ANONYMOUS MAP_ANON
400 #ifdef HAVE_SYS_RESOURCE_H
401 # include <sys/resource.h>
404 #ifdef HAVE_SYS_TIMES_H
405 # include <sys/times.h>
417 #if defined (HAVE_DECL_ATOF) && !HAVE_DECL_ATOF
418 extern double atof (
const char *);
421 #if defined (HAVE_DECL_ATOL) && !HAVE_DECL_ATOL
422 extern long atol (
const char *);
425 #if defined (HAVE_DECL_FREE) && !HAVE_DECL_FREE
426 extern void free (
void *);
429 #if defined (HAVE_DECL_GETCWD) && !HAVE_DECL_GETCWD
430 extern char *getcwd (
char *,
size_t);
433 #if defined (HAVE_DECL_GETENV) && !HAVE_DECL_GETENV
434 extern char *getenv (
const char *);
437 #if defined (HAVE_DECL_GETOPT) && !HAVE_DECL_GETOPT
438 extern int getopt (
int,
char *
const *,
const char *);
441 #if defined (HAVE_DECL_GETPAGESIZE) && !HAVE_DECL_GETPAGESIZE
442 extern int getpagesize (
void);
445 #if defined (HAVE_DECL_GETWD) && !HAVE_DECL_GETWD
446 extern char *getwd (
char *);
449 #if defined (HAVE_DECL_SBRK) && !HAVE_DECL_SBRK
450 extern void *sbrk (
int);
453 #if defined (HAVE_DECL_STRSTR) && !HAVE_DECL_STRSTR
454 extern char *strstr (
const char *,
const char *);
457 #if defined (HAVE_DECL_STPCPY) && !HAVE_DECL_STPCPY
458 extern char *stpcpy (
char *,
const char *);
473 #if defined (HAVE_DECL_MALLOC) && !HAVE_DECL_MALLOC
474 extern void *malloc (
size_t);
477 #if defined (HAVE_DECL_CALLOC) && !HAVE_DECL_CALLOC
478 extern void *calloc (
size_t,
size_t);
481 #if defined (HAVE_DECL_REALLOC) && !HAVE_DECL_REALLOC
482 extern void *realloc (
void *,
size_t);
493 #ifdef HAVE_INTTYPES_H
494 #include <inttypes.h>
503 #if !defined (HAVE_STRSIGNAL) \
504 || (defined (HAVE_DECL_STRSIGNAL) && !HAVE_DECL_STRSIGNAL)
510 #ifdef HAVE_GETRLIMIT
511 # if defined (HAVE_DECL_GETRLIMIT) && !HAVE_DECL_GETRLIMIT
514 extern int getrlimit (
int,
struct rlimit *);
519 #ifdef HAVE_SETRLIMIT
520 # if defined (HAVE_DECL_SETRLIMIT) && !HAVE_DECL_SETRLIMIT
523 extern int setrlimit (
int,
const struct rlimit *);
528 #if defined (HAVE_DECL_ABORT) && !HAVE_DECL_ABORT
529 extern void abort (
void);
532 #if defined (HAVE_DECL_SNPRINTF) && !HAVE_DECL_SNPRINTF
533 extern int snprintf (
char *,
size_t,
const char *, ...);
536 #if defined (HAVE_DECL_VSNPRINTF) && !HAVE_DECL_VSNPRINTF
537 extern int vsnprintf (
char *,
size_t,
const char *, va_list);
545 #if !defined(HAVE_DESIGNATED_INITIALIZERS)
546 #define HAVE_DESIGNATED_INITIALIZERS \
547 (((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)) \
548 && !defined(__cplusplus))
551 #if !defined(HAVE_DESIGNATED_UNION_INITIALIZERS)
552 #define HAVE_DESIGNATED_UNION_INITIALIZERS \
553 (((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L)) \
554 && (!defined(__cplusplus) || (GCC_VERSION >= 4007)))
558 # include <sys/stat.h>
563 #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
568 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
573 #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
578 #define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
584 # define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
586 # define S_ISSOCK(m) 0
593 # define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
595 # define S_ISFIFO(m) 0
601 # define STDIN_FILENO 0
603 #ifndef STDOUT_FILENO
604 # define STDOUT_FILENO 1
606 #ifndef STDERR_FILENO
607 # define STDERR_FILENO 2
611 #ifdef MKDIR_TAKES_ONE_ARG
612 # define mkdir(a,b) mkdir (a)
616 # define kill(p,s) raise (s)
620 #ifndef HOST_PTR_PRINTF
621 #define HOST_PTR_PRINTF "%p"
625 #ifndef PATH_SEPARATOR
626 #define PATH_SEPARATOR ':'
630 #include "filenames.h"
633 #ifndef DIR_SEPARATOR
634 # define DIR_SEPARATOR '/'
635 # ifdef HAVE_DOS_BASED_FILE_SYSTEM
636 # define DIR_SEPARATOR_2 '\\'
640 #if defined (ENABLE_PLUGIN) && defined (HAVE_DLFCN_H)
646 #ifndef GENERATOR_FILE
651 #include "libiberty.h"
661 #ifndef HOST_BIT_BUCKET
662 #define HOST_BIT_BUCKET "/dev/null"
666 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
670 #if (GCC_VERSION < 2007)
672 #define __FUNCTION__ "?"
679 #if (GCC_VERSION < 3000)
680 #define __builtin_expect(a, b) (a)
686 #define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__)
689 #if ENABLE_ASSERT_CHECKING
690 #define gcc_assert(EXPR) \
691 ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0))
692 #elif (GCC_VERSION >= 4005)
693 #define gcc_assert(EXPR) \
694 ((void)(__builtin_expect (!(EXPR), 0) ? __builtin_unreachable (), 0 : 0))
697 #define gcc_assert(EXPR) ((void)(0 && (EXPR)))
700 #ifdef ENABLE_CHECKING
701 #define gcc_checking_assert(EXPR) gcc_assert (EXPR)
703 #define gcc_checking_assert(EXPR) ((void)(0 && (EXPR)))
708 #if (GCC_VERSION >= 4005) && !ENABLE_ASSERT_CHECKING
709 #define gcc_unreachable() __builtin_unreachable ()
711 #define gcc_unreachable() (fancy_abort (__FILE__, __LINE__, __FUNCTION__))
732 # define bool unsigned char
742 #define BOOL_BITFIELD unsigned int
755 #define really_call_malloc malloc
756 #define really_call_calloc calloc
757 #define really_call_realloc realloc
759 #if defined(FLEX_SCANNER) || defined(YYBISON) || defined(YYBYACC)
762 #define malloc xmalloc
763 #define realloc xrealloc
766 #if (GCC_VERSION >= 3000)
775 #pragma GCC poison calloc strdup
777 #if !defined(FLEX_SCANNER) && !defined(YYBISON)
780 #pragma GCC poison malloc realloc
787 #pragma GCC poison strerror
792 #pragma GCC poison loc_t
795 #pragma GCC poison ASM_OPEN_PAREN ASM_CLOSE_PAREN \
796 FUNCTION_PROLOGUE FUNCTION_EPILOGUE \
797 FUNCTION_END_PROLOGUE FUNCTION_BEGIN_EPILOGUE \
798 DECL_MACHINE_ATTRIBUTES COMP_TYPE_ATTRIBUTES INSERT_ATTRIBUTES \
799 VALID_MACHINE_DECL_ATTRIBUTE VALID_MACHINE_TYPE_ATTRIBUTE \
800 SET_DEFAULT_TYPE_ATTRIBUTES SET_DEFAULT_DECL_ATTRIBUTES \
801 MERGE_MACHINE_TYPE_ATTRIBUTES MERGE_MACHINE_DECL_ATTRIBUTES \
802 MD_INIT_BUILTINS MD_EXPAND_BUILTIN ASM_OUTPUT_CONSTRUCTOR \
803 ASM_OUTPUT_DESTRUCTOR SIGNED_CHAR_SPEC MAX_CHAR_TYPE_SIZE \
804 WCHAR_UNSIGNED UNIQUE_SECTION SELECT_SECTION SELECT_RTX_SECTION \
805 ENCODE_SECTION_INFO STRIP_NAME_ENCODING ASM_GLOBALIZE_LABEL \
806 ASM_OUTPUT_MI_THUNK CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS \
807 ADDRESS_COST MACHINE_DEPENDENT_REORG ASM_FILE_START ASM_FILE_END \
808 ASM_SIMPLIFY_DWARF_ADDR INIT_TARGET_OPTABS INIT_SUBTARGET_OPTABS \
809 INIT_GOFAST_OPTABS MULSI3_LIBCALL MULDI3_LIBCALL DIVSI3_LIBCALL \
810 DIVDI3_LIBCALL UDIVSI3_LIBCALL UDIVDI3_LIBCALL MODSI3_LIBCALL \
811 MODDI3_LIBCALL UMODSI3_LIBCALL UMODDI3_LIBCALL BUILD_VA_LIST_TYPE \
812 PRETEND_OUTGOING_VARARGS_NAMED STRUCT_VALUE_INCOMING_REGNUM \
813 ASM_OUTPUT_SECTION_NAME PROMOTE_FUNCTION_ARGS PROMOTE_FUNCTION_MODE \
814 STRUCT_VALUE_INCOMING STRICT_ARGUMENT_NAMING \
815 PROMOTE_FUNCTION_RETURN PROMOTE_PROTOTYPES STRUCT_VALUE_REGNUM \
816 SETUP_INCOMING_VARARGS EXPAND_BUILTIN_SAVEREGS \
817 DEFAULT_SHORT_ENUMS SPLIT_COMPLEX_ARGS MD_ASM_CLOBBERS \
818 HANDLE_PRAGMA_REDEFINE_EXTNAME HANDLE_PRAGMA_EXTERN_PREFIX \
819 MUST_PASS_IN_STACK FUNCTION_ARG_PASS_BY_REFERENCE \
820 VECTOR_MODE_SUPPORTED_P TARGET_SUPPORTS_HIDDEN \
821 FUNCTION_ARG_PARTIAL_NREGS ASM_OUTPUT_DWARF_DTPREL \
822 ALLOCATE_INITIAL_VALUE LEGITIMIZE_ADDRESS FRAME_POINTER_REQUIRED \
823 CAN_ELIMINATE TRAMPOLINE_TEMPLATE INITIALIZE_TRAMPOLINE \
824 TRAMPOLINE_ADJUST_ADDRESS STATIC_CHAIN STATIC_CHAIN_INCOMING \
825 RETURN_POPS_ARGS UNITS_PER_SIMD_WORD OVERRIDE_OPTIONS \
826 OPTIMIZATION_OPTIONS CLASS_LIKELY_SPILLED_P \
827 USING_SJLJ_EXCEPTIONS TARGET_UNWIND_INFO \
828 LABEL_ALIGN_MAX_SKIP LOOP_ALIGN_MAX_SKIP \
829 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP JUMP_ALIGN_MAX_SKIP \
830 CAN_DEBUG_WITHOUT_FP UNLIKELY_EXECUTED_TEXT_SECTION_NAME \
831 HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P ALWAYS_STRIP_DOTDOT \
832 OUTPUT_ADDR_CONST_EXTRA SMALL_REGISTER_CLASSES ASM_OUTPUT_IDENT \
833 ASM_BYTE_OP MEMBER_TYPE_FORCES_BLK
837 #pragma GCC poison DECLARE_LIBRARY_RENAMES LIBGCC2_GNU_PREFIX \
838 MD_UNWIND_SUPPORT MD_FROB_UPDATE_CONTEXT ENABLE_EXECUTE_STACK \
839 REG_VALUE_IN_UNWIND_CONTEXT ASSUME_EXTENDED_UNWIND_CONTEXT
844 #pragma GCC poison INT_ASM_OP ASM_OUTPUT_EH_REGION_BEG CPP_PREDEFINES \
845 ASM_OUTPUT_EH_REGION_END ASM_OUTPUT_LABELREF_AS_INT SMALL_STACK \
846 DOESNT_NEED_UNWINDER EH_TABLE_LOOKUP OBJC_SELECTORS_WITHOUT_LABELS \
847 OMIT_EH_TABLE EASY_DIV_EXPR IMPLICIT_FIX_EXPR \
848 LONGJMP_RESTORE_FROM_STACK MAX_INT_TYPE_SIZE ASM_IDENTIFY_GCC \
849 STDC_VALUE TRAMPOLINE_ALIGN ASM_IDENTIFY_GCC_AFTER_SOURCE \
850 SLOW_ZERO_EXTEND SUBREG_REGNO_OFFSET DWARF_LINE_MIN_INSTR_LENGTH \
851 TRADITIONAL_RETURN_FLOAT NO_BUILTIN_SIZE_TYPE \
852 NO_BUILTIN_PTRDIFF_TYPE NO_BUILTIN_WCHAR_TYPE NO_BUILTIN_WINT_TYPE \
853 BLOCK_PROFILER BLOCK_PROFILER_CODE FUNCTION_BLOCK_PROFILER \
854 FUNCTION_BLOCK_PROFILER_EXIT MACHINE_STATE_SAVE \
855 MACHINE_STATE_RESTORE SCCS_DIRECTIVE SECTION_ASM_OP BYTEORDER \
856 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL HOST_WORDS_BIG_ENDIAN \
857 OBJC_PROLOGUE ALLOCATE_TRAMPOLINE HANDLE_PRAGMA ROUND_TYPE_SIZE \
858 ROUND_TYPE_SIZE_UNIT CONST_SECTION_ASM_OP CRT_GET_RFIB_TEXT \
859 DBX_LBRAC_FIRST DBX_OUTPUT_ENUM DBX_OUTPUT_SOURCE_FILENAME \
860 DBX_WORKING_DIRECTORY INSN_CACHE_DEPTH INSN_CACHE_SIZE \
861 INSN_CACHE_LINE_WIDTH INIT_SECTION_PREAMBLE NEED_ATEXIT ON_EXIT \
862 EXIT_BODY OBJECT_FORMAT_ROSE MULTIBYTE_CHARS MAP_CHARACTER \
863 LIBGCC_NEEDS_DOUBLE FINAL_PRESCAN_LABEL DEFAULT_CALLER_SAVES \
864 LOAD_ARGS_REVERSED MAX_INTEGER_COMPUTATION_MODE \
865 CONVERT_HARD_REGISTER_TO_SSA_P ASM_OUTPUT_MAIN_SOURCE_FILENAME \
866 FIRST_INSN_ADDRESS TEXT_SECTION SHARED_BSS_SECTION_ASM_OP \
867 PROMOTED_MODE EXPAND_BUILTIN_VA_END \
868 LINKER_DOES_NOT_WORK_WITH_DWARF2 FUNCTION_ARG_KEEP_AS_REFERENCE \
869 GIV_SORT_CRITERION MAX_LONG_TYPE_SIZE MAX_LONG_DOUBLE_TYPE_SIZE \
870 MAX_WCHAR_TYPE_SIZE SHARED_SECTION_ASM_OP INTEGRATE_THRESHOLD \
871 FINAL_REG_PARM_STACK_SPACE MAYBE_REG_PARM_STACK_SPACE \
872 TRADITIONAL_PIPELINE_INTERFACE DFA_PIPELINE_INTERFACE \
873 DBX_OUTPUT_STANDARD_TYPES BUILTIN_SETJMP_FRAME_VALUE \
874 SUNOS4_SHARED_LIBRARIES PROMOTE_FOR_CALL_ONLY \
875 SPACE_AFTER_L_OPTION NO_RECURSIVE_FUNCTION_CSE \
876 DEFAULT_MAIN_RETURN TARGET_MEM_FUNCTIONS EXPAND_BUILTIN_VA_ARG \
877 COLLECT_PARSE_FLAG DWARF2_GENERATE_TEXT_SECTION_LABEL WINNING_GDB \
878 ASM_OUTPUT_FILENAME ASM_OUTPUT_SOURCE_LINE FILE_NAME_JOINER \
879 GDB_INV_REF_REGPARM_STABS_LETTER DBX_MEMPARM_STABS_LETTER \
880 PUT_SDB_SRC_FILE STABS_GCC_MARKER DBX_OUTPUT_FUNCTION_END \
881 DBX_OUTPUT_GCC_MARKER DBX_FINISH_SYMBOL SDB_GENERATE_FAKE \
882 NON_SAVING_SETJMP TARGET_LATE_RTL_PROLOGUE_EPILOGUE \
883 CASE_DROPS_THROUGH TARGET_BELL TARGET_BS TARGET_CR TARGET_DIGIT0 \
884 TARGET_ESC TARGET_FF TARGET_NEWLINE TARGET_TAB TARGET_VT \
885 LINK_LIBGCC_SPECIAL DONT_ACCESS_GBLS_AFTER_EPILOGUE \
886 TARGET_OPTIONS TARGET_SWITCHES EXTRA_CC_MODES FINALIZE_PIC \
887 PREDICATE_CODES SPECIAL_MODE_PREDICATES UNALIGNED_WORD_ASM_OP \
888 EXTRA_SECTIONS EXTRA_SECTION_FUNCTIONS READONLY_DATA_SECTION \
889 TARGET_ASM_EXCEPTION_SECTION TARGET_ASM_EH_FRAME_SECTION \
890 SMALL_ARG_MAX ASM_OUTPUT_SHARED_BSS ASM_OUTPUT_SHARED_COMMON \
891 ASM_OUTPUT_SHARED_LOCAL ASM_MAKE_LABEL_LINKONCE \
892 STACK_CHECK_PROBE_INTERVAL STACK_CHECK_PROBE_LOAD \
893 ORDER_REGS_FOR_LOCAL_ALLOC FUNCTION_OUTGOING_VALUE \
894 ASM_DECLARE_CONSTANT_NAME MODIFY_TARGET_NAME SWITCHES_NEED_SPACES \
895 SWITCH_CURTAILS_COMPILATION SWITCH_TAKES_ARG WORD_SWITCH_TAKES_ARG \
896 TARGET_OPTION_TRANSLATE_TABLE HANDLE_PRAGMA_PACK_PUSH_POP \
897 HANDLE_SYSV_PRAGMA HANDLE_PRAGMA_WEAK CONDITIONAL_REGISTER_USAGE \
898 FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS US_SOFTWARE_GOFAST \
899 USING_SVR4_H SVR4_ASM_SPEC FUNCTION_ARG FUNCTION_ARG_ADVANCE \
900 FUNCTION_INCOMING_ARG IRA_COVER_CLASSES TARGET_VERSION \
901 MACHINE_TYPE TARGET_HAS_TARGETCM ASM_OUTPUT_BSS \
902 SETJMP_VIA_SAVE_AREA FORBIDDEN_INC_DEC_CLASSES \
903 PREFERRED_OUTPUT_RELOAD_CLASS SYSTEM_INCLUDE_DIR \
904 STANDARD_INCLUDE_DIR STANDARD_INCLUDE_COMPONENT \
905 LINK_ELIMINATE_DUPLICATE_LDIRECTORIES MIPS_DEBUGGING_INFO \
906 IDENT_ASM_OP ALL_COP_ADDITIONAL_REGISTER_NAMES DBX_OUTPUT_LBRAC \
907 DBX_OUTPUT_NFUN DBX_OUTPUT_RBRAC RANGE_TEST_NON_SHORT_CIRCUIT \
908 REAL_VALUE_TRUNCATE REVERSE_CONDEXEC_PREDICATES_P \
909 TARGET_ALIGN_ANON_BITFIELDS TARGET_NARROW_VOLATILE_BITFIELDS \
910 IDENT_ASM_OP UNALIGNED_SHORT_ASM_OP UNALIGNED_INT_ASM_OP \
911 UNALIGNED_LONG_ASM_OP UNALIGNED_DOUBLE_INT_ASM_OP \
912 USE_COMMON_FOR_ONE_ONLY IFCVT_EXTRA_FIELDS IFCVT_INIT_EXTRA_FIELDS \
913 CASE_USE_BIT_TESTS FIXUNS_TRUNC_LIKE_FIX_TRUNC \
914 GO_IF_MODE_DEPENDENT_ADDRESS DELAY_SLOTS_FOR_EPILOGUE \
915 ELIGIBLE_FOR_EPILOGUE_DELAY TARGET_C99_FUNCTIONS TARGET_HAS_SINCOS
918 #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \
919 LANG_HOOKS_MARK_TREE LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES \
920 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS \
921 LANG_HOOKS_PUSHLEVEL LANG_HOOKS_SET_BLOCK \
922 LANG_HOOKS_MAYBE_BUILD_CLEANUP LANG_HOOKS_UPDATE_DECL_AFTER_SAVING \
923 LANG_HOOKS_POPLEVEL LANG_HOOKS_TRUTHVALUE_CONVERSION \
924 TARGET_PROMOTE_FUNCTION_ARGS TARGET_PROMOTE_FUNCTION_RETURN \
925 LANG_HOOKS_MISSING_ARGUMENT LANG_HOOKS_HASH_TYPES \
926 TARGET_HANDLE_OFAST TARGET_OPTION_OPTIMIZATION \
927 TARGET_IRA_COVER_CLASSES TARGET_HELP \
928 TARGET_HANDLE_PRAGMA_EXTERN_PREFIX \
929 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN \
930 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD \
933 #pragma GCC poison built_in_decls implicit_built_in_decls
936 #pragma GCC poison LIBGCC2_DOUBLE_TYPE_SIZE LIBGCC2_WORDS_BIG_ENDIAN \
937 LIBGCC2_FLOAT_WORDS_BIG_ENDIAN
940 #pragma GCC poison USE_MAPPED_LOCATION GET_ENVIRONMENT
943 #undef ANSI_PROTOTYPES
951 #pragma GCC poison ANSI_PROTOTYPES PTR_CONST LONG_DOUBLE VPARAMS VA_OPEN \
952 VA_FIXEDARG VA_CLOSE VA_START
957 #ifdef IN_GCC_FRONTEND
958 #pragma GCC poison GCC_RTL_H GCC_EXCEPT_H GCC_EXPR_H
967 #pragma GCC poison bcopy bzero bcmp rindex
988 #define CONST_CAST2(TOTYPE,FROMTYPE,X) (const_cast<TOTYPE> (X))
990 #if defined(__GNUC__) && GCC_VERSION > 4000
993 #define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq)
994 #elif defined(__GNUC__)
996 helper_const_non_const_cast (
const char *p)
1006 #define CONST_CAST2(TOTYPE,FROMTYPE,X) \
1007 ((TOTYPE) helper_const_non_const_cast ((const char *) (FROMTYPE) (X)))
1009 #define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)(FROMTYPE)(X))
1012 #define CONST_CAST(TYPE,X) CONST_CAST2 (TYPE, const TYPE, (X))
1013 #define CONST_CAST_TREE(X) CONST_CAST (union tree_node *, (X))
1014 #define CONST_CAST_RTX(X) CONST_CAST (struct rtx_def *, (X))
1015 #define CONST_CAST_BB(X) CONST_CAST (struct basic_block_def *, (X))
1016 #define CONST_CAST_GIMPLE(X) CONST_CAST (struct gimple_statement_base *, (X))
1020 #if GCC_VERSION >= 4003
1023 #ifndef ENABLE_ASSERT_CHECKING
1024 #pragma GCC diagnostic warning "-Wuninitialized"
1028 #ifdef ENABLE_VALGRIND_CHECKING
1029 # ifdef HAVE_VALGRIND_MEMCHECK_H
1030 # include <valgrind/memcheck.h>
1031 # elif defined HAVE_MEMCHECK_H
1032 # include <memcheck.h>
1034 # include <valgrind.h>
1037 # ifndef VALGRIND_MAKE_MEM_NOACCESS
1038 # define VALGRIND_MAKE_MEM_NOACCESS VALGRIND_MAKE_NOACCESS
1040 # ifndef VALGRIND_MAKE_MEM_DEFINED
1041 # define VALGRIND_MAKE_MEM_DEFINED VALGRIND_MAKE_READABLE
1043 # ifndef VALGRIND_MAKE_MEM_UNDEFINED
1044 # define VALGRIND_MAKE_MEM_UNDEFINED VALGRIND_MAKE_WRITABLE
1048 #define VALGRIND_DISCARD(x)
1049 #define VALGRIND_MALLOCLIKE_BLOCK(w,x,y,z)
1050 #define VALGRIND_FREELIKE_BLOCK(x,y)
1055 #if (GCC_VERSION > 4000)
1056 #define DEBUG_FUNCTION __attribute__ ((__used__))
1057 #define DEBUG_VARIABLE __attribute__ ((__used__))
1059 #define DEBUG_FUNCTION
1060 #define DEBUG_VARIABLE