29#define __STDC_FORMAT_MACROS
36# define va_copy(d,s) __va_copy (d, s)
38# define va_copy(d,s) ((d) = (s))
62#define fopen(PATH, MODE) fopen_unlocked (PATH, MODE)
63#define fdopen(FILDES, MODE) fdopen_unlocked (FILDES, MODE)
64#define freopen(PATH, MODE, STREAM) freopen_unlocked (PATH, MODE, STREAM)
79#if defined HAVE_DECL_PUTC_UNLOCKED && HAVE_DECL_PUTC_UNLOCKED
81# ifdef HAVE_PUTC_UNLOCKED
83# define putc(C, Stream) putc_unlocked (C, Stream)
85# ifdef HAVE_PUTCHAR_UNLOCKED
87# define putchar(C) putchar_unlocked (C)
89# ifdef HAVE_GETC_UNLOCKED
91# define getc(Stream) getc_unlocked (Stream)
93# ifdef HAVE_GETCHAR_UNLOCKED
95# define getchar() getchar_unlocked ()
97# ifdef HAVE_FPUTC_UNLOCKED
99# define fputc(C, Stream) fputc_unlocked (C, Stream)
106# ifdef HAVE_CLEARERR_UNLOCKED
108# define clearerr(Stream) clearerr_unlocked (Stream)
109# if defined (HAVE_DECL_CLEARERR_UNLOCKED) && !HAVE_DECL_CLEARERR_UNLOCKED
110extern void clearerr_unlocked (FILE *);
113# ifdef HAVE_FEOF_UNLOCKED
115# define feof(Stream) feof_unlocked (Stream)
116# if defined (HAVE_DECL_FEOF_UNLOCKED) && !HAVE_DECL_FEOF_UNLOCKED
117extern int feof_unlocked (FILE *);
120# ifdef HAVE_FILENO_UNLOCKED
122# define fileno(Stream) fileno_unlocked (Stream)
123# if defined (HAVE_DECL_FILENO_UNLOCKED) && !HAVE_DECL_FILENO_UNLOCKED
124extern int fileno_unlocked (FILE *);
127# ifdef HAVE_FFLUSH_UNLOCKED
129# define fflush(Stream) fflush_unlocked (Stream)
130# if defined (HAVE_DECL_FFLUSH_UNLOCKED) && !HAVE_DECL_FFLUSH_UNLOCKED
131extern int fflush_unlocked (FILE *);
134# ifdef HAVE_FGETC_UNLOCKED
136# define fgetc(Stream) fgetc_unlocked (Stream)
137# if defined (HAVE_DECL_FGETC_UNLOCKED) && !HAVE_DECL_FGETC_UNLOCKED
138extern int fgetc_unlocked (FILE *);
141# ifdef HAVE_FGETS_UNLOCKED
143# define fgets(S, n, Stream) fgets_unlocked (S, n, Stream)
144# if defined (HAVE_DECL_FGETS_UNLOCKED) && !HAVE_DECL_FGETS_UNLOCKED
145extern char *fgets_unlocked (
char *,
int, FILE *);
148# ifdef HAVE_FPUTS_UNLOCKED
150# define fputs(String, Stream) fputs_unlocked (String, Stream)
151# if defined (HAVE_DECL_FPUTS_UNLOCKED) && !HAVE_DECL_FPUTS_UNLOCKED
152extern int fputs_unlocked (
const char *, FILE *);
155# ifdef HAVE_FERROR_UNLOCKED
157# define ferror(Stream) ferror_unlocked (Stream)
158# if defined (HAVE_DECL_FERROR_UNLOCKED) && !HAVE_DECL_FERROR_UNLOCKED
159extern int ferror_unlocked (FILE *);
162# ifdef HAVE_FREAD_UNLOCKED
164# define fread(Ptr, Size, N, Stream) fread_unlocked (Ptr, Size, N, Stream)
165# if defined (HAVE_DECL_FREAD_UNLOCKED) && !HAVE_DECL_FREAD_UNLOCKED
166extern size_t fread_unlocked (
void *,
size_t,
size_t, FILE *);
169# ifdef HAVE_FWRITE_UNLOCKED
171# define fwrite(Ptr, Size, N, Stream) fwrite_unlocked (Ptr, Size, N, Stream)
172# if defined (HAVE_DECL_FWRITE_UNLOCKED) && !HAVE_DECL_FWRITE_UNLOCKED
173extern size_t fwrite_unlocked (
const void *,
size_t,
size_t, FILE *);
176# ifdef HAVE_FPRINTF_UNLOCKED
180# define fprintf fprintf_unlocked
181# if defined (HAVE_DECL_FPRINTF_UNLOCKED) && !HAVE_DECL_FPRINTF_UNLOCKED
182extern int fprintf_unlocked (FILE *,
const char *, ...);
195#undef fwrite_unlocked
201#if defined (INCLUDE_ALGORITHM) || !defined (HAVE_SWAP_IN_UTILITY)
222#ifdef INCLUDE_FUNCTIONAL
223# include <functional>
225#ifdef INCLUDE_SSTREAM
230# include <initializer_list>
233# include <type_traits>
239#include "safe-ctype.h"
241#include <sys/types.h>
245#if !defined (errno) && defined (HAVE_DECL_ERRNO) && !HAVE_DECL_ERRNO
251#define __NO_STRING_INLINES
253#ifdef STRING_WITH_STRINGS
260# ifdef HAVE_STRINGS_H
284#ifndef SUCCESS_EXIT_CODE
286# define SUCCESS_EXIT_CODE EXIT_SUCCESS
288# define SUCCESS_EXIT_CODE 0
292#ifndef FATAL_EXIT_CODE
294# define FATAL_EXIT_CODE EXIT_FAILURE
296# define FATAL_EXIT_CODE 1
300#define ICE_EXIT_CODE 4
306#ifdef HAVE_SYS_PARAM_H
307# include <sys/param.h>
324#define IN_RANGE(VALUE, LOWER, UPPER) \
325 ((unsigned HOST_WIDE_INT) (VALUE) - (unsigned HOST_WIDE_INT) (LOWER) \
326 <= (unsigned HOST_WIDE_INT) (UPPER) - (unsigned HOST_WIDE_INT) (LOWER))
332#define INTTYPE_SIGNED(t) (! ((t) 0 < (t) -1))
335#define INTTYPE_MINIMUM(t) ((t) (INTTYPE_SIGNED (t) \
336 ? (t) 1 << (sizeof (t) * CHAR_BIT - 1) : (t) 0))
337#define INTTYPE_MAXIMUM(t) ((t) (~ (t) 0 - INTTYPE_MINIMUM (t)))
341# define UCHAR_MAX INTTYPE_MAXIMUM (unsigned char)
344#ifdef TIME_WITH_SYS_TIME
345# include <sys/time.h>
349# include <sys/time.h>
360# ifdef HAVE_SYS_FILE_H
361# include <sys/file.h>
365#ifdef HAVE_SYS_LOCKING_H
366# include <sys/locking.h>
396#define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
397#define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
400#define CEIL(x,y) (((x) + (y) - 1) / (y))
403#define ROUND_UP(x,y) (((x) + (y) - 1) & ~((y) - 1))
406#define ROUND_DOWN(x,y) ((x) & ~((y) - 1))
408#ifdef HAVE_SYS_WAIT_H
413#define WIFSIGNALED(S) (((S) & 0xff) != 0 && ((S) & 0xff) != 0x7f)
416#define WTERMSIG(S) ((S) & 0x7f)
419#define WIFEXITED(S) (((S) & 0xff) == 0)
422#define WEXITSTATUS(S) (((S) & 0xff00) >> 8)
425#define WSTOPSIG WEXITSTATUS
428#define WCOREDUMP(S) ((S) & WCOREFLG)
435#if !defined (SIGCHLD) && defined (SIGCLD)
436# define SIGCHLD SIGCLD
439#ifdef HAVE_SYS_MMAN_H
440# include <sys/mman.h>
444# define MAP_FAILED ((void *)-1)
447#if !defined (MAP_ANONYMOUS) && defined (MAP_ANON)
448# define MAP_ANONYMOUS MAP_ANON
451#ifdef HAVE_SYS_RESOURCE_H
452# include <sys/resource.h>
455#ifdef HAVE_SYS_TIMES_H
456# include <sys/times.h>
468#if defined (HAVE_DECL_ATOF) && !HAVE_DECL_ATOF
469extern double atof (
const char *);
472#if defined (HAVE_DECL_ATOL) && !HAVE_DECL_ATOL
473extern long atol (
const char *);
476#if defined (HAVE_DECL_FREE) && !HAVE_DECL_FREE
477extern void free (
void *);
480#if defined (HAVE_DECL_GETCWD) && !HAVE_DECL_GETCWD
481extern char *getcwd (
char *,
size_t);
484#if defined (HAVE_DECL_GETENV) && !HAVE_DECL_GETENV
485extern char *getenv (
const char *);
488#if defined (HAVE_DECL_GETOPT) && !HAVE_DECL_GETOPT
489extern int getopt (
int,
char *
const *,
const char *);
492#if defined (HAVE_DECL_GETPAGESIZE) && !HAVE_DECL_GETPAGESIZE
493extern int getpagesize (
void);
496#if defined (HAVE_DECL_GETWD) && !HAVE_DECL_GETWD
497extern char *getwd (
char *);
500#if defined (HAVE_DECL_SBRK) && !HAVE_DECL_SBRK
501extern void *sbrk (
int);
504#if defined (HAVE_DECL_SETENV) && !HAVE_DECL_SETENV
505int setenv(
const char *,
const char *,
int);
508#if defined (HAVE_DECL_STRSTR) && !HAVE_DECL_STRSTR
509extern char *strstr (
const char *,
const char *);
512#if defined (HAVE_DECL_STPCPY) && !HAVE_DECL_STPCPY
513extern char *stpcpy (
char *,
const char *);
516#if defined (HAVE_DECL_UNSETENV) && !HAVE_DECL_UNSETENV
517int unsetenv(
const char *);
520#if defined (HAVE_DECL_MALLOC) && !HAVE_DECL_MALLOC
521extern void *
malloc (
size_t);
524#if defined (HAVE_DECL_CALLOC) && !HAVE_DECL_CALLOC
525extern void *calloc (
size_t,
size_t);
528#if defined (HAVE_DECL_REALLOC) && !HAVE_DECL_REALLOC
529extern void *
realloc (
void *,
size_t);
540#ifdef HAVE_INTTYPES_H
545# define SIZE_MAX INTTYPE_MAXIMUM (size_t)
554#if !defined (HAVE_STRSIGNAL) \
555 || (defined (HAVE_DECL_STRSIGNAL) && !HAVE_DECL_STRSIGNAL)
562# if defined (HAVE_DECL_GETRLIMIT) && !HAVE_DECL_GETRLIMIT
565extern int getrlimit (
int,
struct rlimit *);
571# if defined (HAVE_DECL_SETRLIMIT) && !HAVE_DECL_SETRLIMIT
574extern int setrlimit (
int,
const struct rlimit *);
579#if defined (HAVE_DECL_ABORT) && !HAVE_DECL_ABORT
580extern void abort (
void);
583#if defined (HAVE_DECL_SNPRINTF) && !HAVE_DECL_SNPRINTF
584extern int snprintf (
char *,
size_t,
const char *, ...);
587#if defined (HAVE_DECL_VSNPRINTF) && !HAVE_DECL_VSNPRINTF
588extern int vsnprintf (
char *,
size_t,
const char *, va_list);
596#if !defined(HAVE_DESIGNATED_INITIALIZERS)
598#define HAVE_DESIGNATED_INITIALIZERS 0
600#define HAVE_DESIGNATED_INITIALIZERS \
601 ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L))
605#if !defined(HAVE_DESIGNATED_UNION_INITIALIZERS)
607#define HAVE_DESIGNATED_UNION_INITIALIZERS (GCC_VERSION >= 4007)
609#define HAVE_DESIGNATED_UNION_INITIALIZERS \
610 ((GCC_VERSION >= 2007) || (__STDC_VERSION__ >= 199901L))
615# include <sys/stat.h>
620#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
625#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
630#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
635#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
641# define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
643# define S_ISSOCK(m) 0
650# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
652# define S_ISFIFO(m) 0
658# define STDIN_FILENO 0
661# define STDOUT_FILENO 1
664# define STDERR_FILENO 2
668#ifdef MKDIR_TAKES_ONE_ARG
669# define mkdir(a,b) mkdir (a)
673# define kill(p,s) raise (s)
677#ifndef HOST_PTR_PRINTF
678#define HOST_PTR_PRINTF "%p"
682#ifndef PATH_SEPARATOR
683#define PATH_SEPARATOR ':'
687#include "filenames.h"
691# define DIR_SEPARATOR '/'
692# ifdef HAVE_DOS_BASED_FILE_SYSTEM
693# define DIR_SEPARATOR_2 '\\'
697#if defined (ENABLE_PLUGIN) && defined (HAVE_DLFCN_H)
703#ifndef GENERATOR_FILE
712 operator mpz_t& () {
return m_mpz; }
718#if GCC_VERSION < 4008 || GCC_VERSION >= 5000
730#include "libiberty.h"
740#ifndef HOST_BIT_BUCKET
741#define HOST_BIT_BUCKET "/dev/null"
745#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *) 0)->MEMBER)
749#if (GCC_VERSION < 2007)
751#define __FUNCTION__ "?"
758#if (GCC_VERSION < 3000)
759#define __builtin_expect(a, b) (a)
762#define LIKELY(x) (__builtin_expect ((x), 1))
763#define UNLIKELY(x) (__builtin_expect ((x), 0))
770#ifdef INCLUDE_MALLOC_H
771#if defined(HAVE_MALLINFO) || defined(HAVE_MALLINFO2)
778#include <isl/options.h>
782#include <isl/union_set.h>
784#include <isl/union_map.h>
786#include <isl/constraint.h>
789#include <isl/schedule.h>
790#include <isl/ast_build.h>
791#include <isl/schedule_node.h>
793#include <isl/space.h>
801extern void fancy_abort (
const char *,
int,
const char *)
803#define abort() fancy_abort (__FILE__, __LINE__, __FUNCTION__)
806#if ENABLE_ASSERT_CHECKING
807#define gcc_assert(EXPR) \
808 ((void)(!(EXPR) ? fancy_abort (__FILE__, __LINE__, __FUNCTION__), 0 : 0))
809#elif (GCC_VERSION >= 4005)
810#define gcc_assert(EXPR) \
811 ((void)(UNLIKELY (!(EXPR)) ? __builtin_unreachable (), 0 : 0))
814#define gcc_assert(EXPR) ((void)(0 && (EXPR)))
818#define gcc_checking_assert(EXPR) gcc_assert (EXPR)
821#define gcc_checking_assert(EXPR) ((void)(0 && (EXPR)))
824#if GCC_VERSION >= 4000
825#define ALWAYS_INLINE inline __attribute__ ((always_inline))
827#define ALWAYS_INLINE inline
830#if GCC_VERSION >= 3004
831#define WARN_UNUSED_RESULT __attribute__ ((__warn_unused_result__))
833#define WARN_UNUSED_RESULT
838#if (GCC_VERSION >= 4005) && !ENABLE_ASSERT_CHECKING
839#define gcc_unreachable() __builtin_unreachable ()
841#define gcc_unreachable() (fancy_abort (__FILE__, __LINE__, __FUNCTION__))
844#if GCC_VERSION >= 7000 && defined(__has_attribute)
845# if __has_attribute(fallthrough)
846# define gcc_fallthrough() __attribute__((fallthrough))
848# define gcc_fallthrough()
851# define gcc_fallthrough()
854#if GCC_VERSION >= 3001
855#define STATIC_CONSTANT_P(X) (__builtin_constant_p (X) && (X))
857#define STATIC_CONSTANT_P(X) (false && (X))
861#define STATIC_ASSERT(X) \
862 static_assert ((X), #X)
864#define STATIC_ASSERT(X) \
865 typedef int assertion1[(X) ? 1 : -1] ATTRIBUTE_UNUSED
886# define bool unsigned char
896#define BOOL_BITFIELD unsigned int
909#define really_call_malloc malloc
910#define really_call_calloc calloc
911#define really_call_realloc realloc
913#if defined(FLEX_SCANNER) || defined(YYBISON) || defined(YYBYACC)
916#define malloc xmalloc
917#define realloc xrealloc
920#if (GCC_VERSION >= 3000)
931 #pragma GCC poison calloc strdup strndup
933#if !defined(FLEX_SCANNER) && !defined(YYBISON)
936 #pragma GCC poison malloc realloc
943 #pragma GCC poison strerror
948 #pragma GCC poison loc_t
951 #pragma GCC poison ASM_OPEN_PAREN ASM_CLOSE_PAREN \
952 FUNCTION_PROLOGUE FUNCTION_EPILOGUE \
953 FUNCTION_END_PROLOGUE FUNCTION_BEGIN_EPILOGUE \
954 DECL_MACHINE_ATTRIBUTES COMP_TYPE_ATTRIBUTES INSERT_ATTRIBUTES \
955 VALID_MACHINE_DECL_ATTRIBUTE VALID_MACHINE_TYPE_ATTRIBUTE \
956 SET_DEFAULT_TYPE_ATTRIBUTES SET_DEFAULT_DECL_ATTRIBUTES \
957 MERGE_MACHINE_TYPE_ATTRIBUTES MERGE_MACHINE_DECL_ATTRIBUTES \
958 MD_INIT_BUILTINS MD_EXPAND_BUILTIN ASM_OUTPUT_CONSTRUCTOR \
959 ASM_OUTPUT_DESTRUCTOR SIGNED_CHAR_SPEC MAX_CHAR_TYPE_SIZE \
960 WCHAR_UNSIGNED UNIQUE_SECTION SELECT_SECTION SELECT_RTX_SECTION \
961 ENCODE_SECTION_INFO STRIP_NAME_ENCODING ASM_GLOBALIZE_LABEL \
962 ASM_OUTPUT_MI_THUNK CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS \
963 ADDRESS_COST MACHINE_DEPENDENT_REORG ASM_FILE_START ASM_FILE_END \
964 ASM_SIMPLIFY_DWARF_ADDR INIT_TARGET_OPTABS INIT_SUBTARGET_OPTABS \
965 INIT_GOFAST_OPTABS MULSI3_LIBCALL MULDI3_LIBCALL DIVSI3_LIBCALL \
966 DIVDI3_LIBCALL UDIVSI3_LIBCALL UDIVDI3_LIBCALL MODSI3_LIBCALL \
967 MODDI3_LIBCALL UMODSI3_LIBCALL UMODDI3_LIBCALL BUILD_VA_LIST_TYPE \
968 PRETEND_OUTGOING_VARARGS_NAMED STRUCT_VALUE_INCOMING_REGNUM \
969 ASM_OUTPUT_SECTION_NAME PROMOTE_FUNCTION_ARGS PROMOTE_FUNCTION_MODE \
970 STRUCT_VALUE_INCOMING STRICT_ARGUMENT_NAMING \
971 PROMOTE_FUNCTION_RETURN PROMOTE_PROTOTYPES STRUCT_VALUE_REGNUM \
972 SETUP_INCOMING_VARARGS EXPAND_BUILTIN_SAVEREGS \
973 DEFAULT_SHORT_ENUMS SPLIT_COMPLEX_ARGS MD_ASM_CLOBBERS \
974 HANDLE_PRAGMA_REDEFINE_EXTNAME HANDLE_PRAGMA_EXTERN_PREFIX \
975 MUST_PASS_IN_STACK FUNCTION_ARG_PASS_BY_REFERENCE \
976 VECTOR_MODE_SUPPORTED_P TARGET_SUPPORTS_HIDDEN \
977 FUNCTION_ARG_PARTIAL_NREGS ASM_OUTPUT_DWARF_DTPREL \
978 ALLOCATE_INITIAL_VALUE LEGITIMIZE_ADDRESS FRAME_POINTER_REQUIRED \
979 CAN_ELIMINATE TRAMPOLINE_TEMPLATE INITIALIZE_TRAMPOLINE \
980 TRAMPOLINE_ADJUST_ADDRESS STATIC_CHAIN STATIC_CHAIN_INCOMING \
981 RETURN_POPS_ARGS UNITS_PER_SIMD_WORD OVERRIDE_OPTIONS \
982 OPTIMIZATION_OPTIONS CLASS_LIKELY_SPILLED_P \
983 USING_SJLJ_EXCEPTIONS TARGET_UNWIND_INFO \
984 CAN_DEBUG_WITHOUT_FP UNLIKELY_EXECUTED_TEXT_SECTION_NAME \
985 HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P ALWAYS_STRIP_DOTDOT \
986 OUTPUT_ADDR_CONST_EXTRA SMALL_REGISTER_CLASSES ASM_OUTPUT_IDENT \
987 ASM_BYTE_OP MEMBER_TYPE_FORCES_BLK LIBGCC2_HAS_SF_MODE \
988 LIBGCC2_HAS_DF_MODE LIBGCC2_HAS_XF_MODE LIBGCC2_HAS_TF_MODE \
989 CLEAR_BY_PIECES_P MOVE_BY_PIECES_P SET_BY_PIECES_P \
990 STORE_BY_PIECES_P TARGET_FLT_EVAL_METHOD \
991 HARD_REGNO_CALL_PART_CLOBBERED HARD_REGNO_MODE_OK \
992 MODES_TIEABLE_P FUNCTION_ARG_PADDING SLOW_UNALIGNED_ACCESS \
993 HARD_REGNO_NREGS SECONDARY_MEMORY_NEEDED_MODE \
994 SECONDARY_MEMORY_NEEDED CANNOT_CHANGE_MODE_CLASS \
995 TRULY_NOOP_TRUNCATION FUNCTION_ARG_OFFSET CONSTANT_ALIGNMENT \
996 STARTING_FRAME_OFFSET FLOAT_TYPE_SIZE DOUBLE_TYPE_SIZE \
997 LONG_DOUBLE_TYPE_SIZE
1001 #pragma GCC poison DECLARE_LIBRARY_RENAMES LIBGCC2_GNU_PREFIX \
1002 MD_UNWIND_SUPPORT MD_FROB_UPDATE_CONTEXT ENABLE_EXECUTE_STACK \
1003 REG_VALUE_IN_UNWIND_CONTEXT ASSUME_EXTENDED_UNWIND_CONTEXT
1008 #pragma GCC poison INT_ASM_OP ASM_OUTPUT_EH_REGION_BEG CPP_PREDEFINES \
1009 ASM_OUTPUT_EH_REGION_END ASM_OUTPUT_LABELREF_AS_INT SMALL_STACK \
1010 DOESNT_NEED_UNWINDER EH_TABLE_LOOKUP OBJC_SELECTORS_WITHOUT_LABELS \
1011 OMIT_EH_TABLE EASY_DIV_EXPR IMPLICIT_FIX_EXPR \
1012 LONGJMP_RESTORE_FROM_STACK MAX_INT_TYPE_SIZE ASM_IDENTIFY_GCC \
1013 STDC_VALUE TRAMPOLINE_ALIGN ASM_IDENTIFY_GCC_AFTER_SOURCE \
1014 SLOW_ZERO_EXTEND SUBREG_REGNO_OFFSET DWARF_LINE_MIN_INSTR_LENGTH \
1015 TRADITIONAL_RETURN_FLOAT NO_BUILTIN_SIZE_TYPE \
1016 NO_BUILTIN_PTRDIFF_TYPE NO_BUILTIN_WCHAR_TYPE NO_BUILTIN_WINT_TYPE \
1017 BLOCK_PROFILER BLOCK_PROFILER_CODE FUNCTION_BLOCK_PROFILER \
1018 FUNCTION_BLOCK_PROFILER_EXIT MACHINE_STATE_SAVE \
1019 MACHINE_STATE_RESTORE SCCS_DIRECTIVE SECTION_ASM_OP BYTEORDER \
1020 ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL HOST_WORDS_BIG_ENDIAN \
1021 OBJC_PROLOGUE ALLOCATE_TRAMPOLINE HANDLE_PRAGMA ROUND_TYPE_SIZE \
1022 ROUND_TYPE_SIZE_UNIT CONST_SECTION_ASM_OP CRT_GET_RFIB_TEXT \
1023 INSN_CACHE_DEPTH INSN_CACHE_SIZE \
1024 INSN_CACHE_LINE_WIDTH INIT_SECTION_PREAMBLE NEED_ATEXIT ON_EXIT \
1025 EXIT_BODY OBJECT_FORMAT_ROSE MULTIBYTE_CHARS MAP_CHARACTER \
1026 LIBGCC_NEEDS_DOUBLE FINAL_PRESCAN_LABEL DEFAULT_CALLER_SAVES \
1027 LOAD_ARGS_REVERSED MAX_INTEGER_COMPUTATION_MODE \
1028 CONVERT_HARD_REGISTER_TO_SSA_P ASM_OUTPUT_MAIN_SOURCE_FILENAME \
1029 FIRST_INSN_ADDRESS TEXT_SECTION SHARED_BSS_SECTION_ASM_OP \
1030 PROMOTED_MODE EXPAND_BUILTIN_VA_END \
1031 LINKER_DOES_NOT_WORK_WITH_DWARF2 FUNCTION_ARG_KEEP_AS_REFERENCE \
1032 GIV_SORT_CRITERION MAX_LONG_TYPE_SIZE MAX_LONG_DOUBLE_TYPE_SIZE \
1033 MAX_WCHAR_TYPE_SIZE SHARED_SECTION_ASM_OP INTEGRATE_THRESHOLD \
1034 FINAL_REG_PARM_STACK_SPACE MAYBE_REG_PARM_STACK_SPACE \
1035 TRADITIONAL_PIPELINE_INTERFACE DFA_PIPELINE_INTERFACE \
1036 BUILTIN_SETJMP_FRAME_VALUE \
1037 SUNOS4_SHARED_LIBRARIES PROMOTE_FOR_CALL_ONLY \
1038 SPACE_AFTER_L_OPTION NO_RECURSIVE_FUNCTION_CSE \
1039 DEFAULT_MAIN_RETURN TARGET_MEM_FUNCTIONS EXPAND_BUILTIN_VA_ARG \
1040 COLLECT_PARSE_FLAG DWARF2_GENERATE_TEXT_SECTION_LABEL WINNING_GDB \
1041 ASM_OUTPUT_FILENAME ASM_OUTPUT_SOURCE_LINE FILE_NAME_JOINER \
1042 GDB_INV_REF_REGPARM_STABS_LETTER \
1043 PUT_SDB_SRC_FILE STABS_GCC_MARKER SDB_GENERATE_FAKE \
1044 NON_SAVING_SETJMP TARGET_LATE_RTL_PROLOGUE_EPILOGUE \
1045 CASE_DROPS_THROUGH TARGET_BELL TARGET_BS TARGET_CR TARGET_DIGIT0 \
1046 TARGET_ESC TARGET_FF TARGET_NEWLINE TARGET_TAB TARGET_VT \
1047 LINK_LIBGCC_SPECIAL DONT_ACCESS_GBLS_AFTER_EPILOGUE \
1048 TARGET_OPTIONS TARGET_SWITCHES EXTRA_CC_MODES FINALIZE_PIC \
1049 PREDICATE_CODES SPECIAL_MODE_PREDICATES UNALIGNED_WORD_ASM_OP \
1050 EXTRA_SECTIONS EXTRA_SECTION_FUNCTIONS READONLY_DATA_SECTION \
1051 TARGET_ASM_EXCEPTION_SECTION TARGET_ASM_EH_FRAME_SECTION \
1052 SMALL_ARG_MAX ASM_OUTPUT_SHARED_BSS ASM_OUTPUT_SHARED_COMMON \
1053 ASM_OUTPUT_SHARED_LOCAL ASM_MAKE_LABEL_LINKONCE \
1054 STACK_CHECK_PROBE_INTERVAL STACK_CHECK_PROBE_LOAD \
1055 ORDER_REGS_FOR_LOCAL_ALLOC FUNCTION_OUTGOING_VALUE \
1056 ASM_DECLARE_CONSTANT_NAME MODIFY_TARGET_NAME SWITCHES_NEED_SPACES \
1057 SWITCH_CURTAILS_COMPILATION SWITCH_TAKES_ARG WORD_SWITCH_TAKES_ARG \
1058 TARGET_OPTION_TRANSLATE_TABLE HANDLE_PRAGMA_PACK_PUSH_POP \
1059 HANDLE_SYSV_PRAGMA HANDLE_PRAGMA_WEAK CONDITIONAL_REGISTER_USAGE \
1060 FUNCTION_ARG_BOUNDARY MUST_USE_SJLJ_EXCEPTIONS US_SOFTWARE_GOFAST \
1061 USING_SVR4_H SVR4_ASM_SPEC FUNCTION_ARG FUNCTION_ARG_ADVANCE \
1062 FUNCTION_INCOMING_ARG IRA_COVER_CLASSES TARGET_VERSION \
1063 MACHINE_TYPE TARGET_HAS_TARGETCM ASM_OUTPUT_BSS \
1064 SETJMP_VIA_SAVE_AREA FORBIDDEN_INC_DEC_CLASSES \
1065 PREFERRED_OUTPUT_RELOAD_CLASS SYSTEM_INCLUDE_DIR \
1066 STANDARD_INCLUDE_DIR STANDARD_INCLUDE_COMPONENT \
1067 LINK_ELIMINATE_DUPLICATE_LDIRECTORIES MIPS_DEBUGGING_INFO \
1068 IDENT_ASM_OP ALL_COP_ADDITIONAL_REGISTER_NAMES \
1069 RANGE_TEST_NON_SHORT_CIRCUIT \
1070 REAL_VALUE_TRUNCATE REVERSE_CONDEXEC_PREDICATES_P \
1071 TARGET_ALIGN_ANON_BITFIELDS TARGET_NARROW_VOLATILE_BITFIELDS \
1072 IDENT_ASM_OP UNALIGNED_SHORT_ASM_OP UNALIGNED_INT_ASM_OP \
1073 UNALIGNED_LONG_ASM_OP UNALIGNED_DOUBLE_INT_ASM_OP \
1074 USE_COMMON_FOR_ONE_ONLY IFCVT_EXTRA_FIELDS IFCVT_INIT_EXTRA_FIELDS \
1075 CASE_USE_BIT_TESTS FIXUNS_TRUNC_LIKE_FIX_TRUNC \
1076 GO_IF_MODE_DEPENDENT_ADDRESS DELAY_SLOTS_FOR_EPILOGUE \
1077 ELIGIBLE_FOR_EPILOGUE_DELAY TARGET_C99_FUNCTIONS TARGET_HAS_SINCOS \
1078 REG_CLASS_FROM_LETTER CONST_OK_FOR_LETTER_P \
1079 CONST_DOUBLE_OK_FOR_LETTER_P EXTRA_CONSTRAINT \
1080 REG_CLASS_FROM_CONSTRAINT REG_CLASS_FOR_CONSTRAINT \
1081 EXTRA_CONSTRAINT_STR EXTRA_MEMORY_CONSTRAINT \
1082 EXTRA_ADDRESS_CONSTRAINT CONST_DOUBLE_OK_FOR_CONSTRAINT_P \
1083 CALLER_SAVE_PROFITABLE LARGEST_EXPONENT_IS_NORMAL \
1084 ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE LIBGCC2_TF_CEXT \
1085 LIBGCC2_LONG_DOUBLE_TYPE_SIZE STRUCT_VALUE \
1086 EH_FRAME_IN_DATA_SECTION TARGET_FLT_EVAL_METHOD_NON_DEFAULT \
1087 JCR_SECTION_NAME TARGET_USE_JCR_SECTION SDB_DEBUGGING_INFO \
1088 SDB_DEBUG NO_IMPLICIT_EXTERN_C NOTICE_UPDATE_CC \
1089 CC_STATUS_MDEP_INIT CC_STATUS_MDEP CC_STATUS SLOW_SHORT_ACCESS
1092 #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \
1093 LANG_HOOKS_MARK_TREE LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES \
1094 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS \
1095 LANG_HOOKS_PUSHLEVEL LANG_HOOKS_SET_BLOCK \
1096 LANG_HOOKS_MAYBE_BUILD_CLEANUP LANG_HOOKS_UPDATE_DECL_AFTER_SAVING \
1097 LANG_HOOKS_POPLEVEL LANG_HOOKS_TRUTHVALUE_CONVERSION \
1098 TARGET_PROMOTE_FUNCTION_ARGS TARGET_PROMOTE_FUNCTION_RETURN \
1099 LANG_HOOKS_MISSING_ARGUMENT LANG_HOOKS_HASH_TYPES \
1100 TARGET_HANDLE_OFAST TARGET_OPTION_OPTIMIZATION \
1101 TARGET_IRA_COVER_CLASSES TARGET_HELP \
1102 TARGET_HANDLE_PRAGMA_EXTERN_PREFIX \
1103 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN \
1104 TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD \
1105 TARGET_MD_ASM_CLOBBERS TARGET_RELAXED_ORDERING \
1106 EXTENDED_SDB_BASIC_TYPES TARGET_INVALID_PARAMETER_TYPE \
1107 TARGET_INVALID_RETURN_TYPE
1110 #pragma GCC poison built_in_decls implicit_built_in_decls
1113 #pragma GCC poison LIBGCC2_DOUBLE_TYPE_SIZE LIBGCC2_WORDS_BIG_ENDIAN \
1114 LIBGCC2_FLOAT_WORDS_BIG_ENDIAN
1117 #pragma GCC poison USE_MAPPED_LOCATION GET_ENVIRONMENT
1120#undef ANSI_PROTOTYPES
1128 #pragma GCC poison ANSI_PROTOTYPES PTR_CONST LONG_DOUBLE VPARAMS VA_OPEN \
1129 VA_FIXEDARG VA_CLOSE VA_START
1134#ifdef IN_GCC_FRONTEND
1135#pragma GCC poison GCC_RTL_H GCC_EXCEPT_H GCC_EXPR_H
1144 #pragma GCC poison bcopy bzero bcmp rindex
1148#pragma GCC poison ENABLE_CHECKING
1169#define CONST_CAST2(TOTYPE,FROMTYPE,X) (const_cast<TOTYPE> (X))
1171#if defined(__GNUC__) && GCC_VERSION > 4000
1174#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((__extension__(union {FROMTYPE _q; TOTYPE _nq;})(X))._nq)
1175#elif defined(__GNUC__)
1177helper_const_non_const_cast (
const char *p)
1180 const char *const_c;
1187#define CONST_CAST2(TOTYPE,FROMTYPE,X) \
1188 ((TOTYPE) helper_const_non_const_cast ((const char *) (FROMTYPE) (X)))
1190#define CONST_CAST2(TOTYPE,FROMTYPE,X) ((TOTYPE)(FROMTYPE)(X))
1193#define CONST_CAST(TYPE,X) CONST_CAST2 (TYPE, const TYPE, (X))
1194#define CONST_CAST_TREE(X) CONST_CAST (union tree_node *, (X))
1195#define CONST_CAST_RTX(X) CONST_CAST (struct rtx_def *, (X))
1196#define CONST_CAST_RTX_INSN(X) CONST_CAST (struct rtx_insn *, (X))
1197#define CONST_CAST_BB(X) CONST_CAST (struct basic_block_def *, (X))
1198#define CONST_CAST_GIMPLE(X) CONST_CAST (gimple *, (X))
1202#if GCC_VERSION >= 4003
1205#ifndef ENABLE_ASSERT_CHECKING
1206#pragma GCC diagnostic warning "-Wuninitialized"
1210#ifdef ENABLE_VALGRIND_ANNOTATIONS
1211#include <valgrind/memcheck.h>
1215#define VALGRIND_DISCARD(x)
1219#if GCC_VERSION >= 6000
1220#define GCC_DIAGNOSTIC_STRINGIFY(x) #x
1221#define GCC_DIAGNOSTIC_PUSH_IGNORED(x) \
1222 _Pragma ("GCC diagnostic push") \
1223 _Pragma (GCC_DIAGNOSTIC_STRINGIFY (GCC diagnostic ignored #x))
1224#define GCC_DIAGNOSTIC_POP _Pragma ("GCC diagnostic pop")
1226#define GCC_DIAGNOSTIC_PUSH_IGNORED(x)
1227#define GCC_DIAGNOSTIC_POP
1232#if (GCC_VERSION > 4000)
1233#define DEBUG_FUNCTION __attribute__ ((__used__))
1234#define DEBUG_VARIABLE __attribute__ ((__used__))
1236#define DEBUG_FUNCTION
1237#define DEBUG_VARIABLE
1241#define TEST_BIT(X, Y) (((X) >> (Y)) & 1)
1249void gcc_qsort (
void *,
size_t,
size_t,
int (*)(
const void *,
const void *));
1251 int (*)(
const void *,
const void *));
1255#define PP_5th(a1, a2, a3, a4, a5, ...) a5
1257#define qsort(...) PP_5th (__VA_ARGS__, gcc_qsort, 3, 2, qsort, 0) (__VA_ARGS__)
1260#define ONE_M (ONE_K * ONE_K)
1261#define ONE_G (ONE_K * ONE_M)
1267#define SIZE_SCALE(x) (((x) < 10 * ONE_K \
1269 : ((x) < 10 * ONE_M \
1278#define SIZE_LABEL(x) ((x) < 10 * ONE_K ? ' ' : ((x) < 10 * ONE_M ? 'k' : 'M'))
1283#define SIZE_AMOUNT(size) (uint64_t)SIZE_SCALE (size), SIZE_LABEL (size)
1287#define PRsa(n) "%" #n PRIu64 "%c"
1301#if defined(__clang__) && defined(__powerpc__)
1302#define vec_step vec_step_
1310 return strncmp (str, prefix, strlen (prefix)) == 0;
1318 size_t str_len = strlen (str);
1319 size_t suffix_len = strlen (suffix);
1320 if (str_len < suffix_len)
1323 return memcmp (str + str_len - suffix_len, suffix, suffix_len) == 0;
auto_mpz(const auto_mpz &)=delete
~auto_mpz()
Definition system.h:710
auto_mpz & operator=(const auto_mpz &)=delete
friend void mpz_clear(auto_mpz &)=delete
mpz_ptr operator->()
Definition system.h:713
auto_mpz()
Definition system.h:709
friend void mpz_init(auto_mpz &)=delete
mpz_t m_mpz
Definition system.h:725
Definition genoutput.cc:150
void ATTRIBUTE_NORETURN
Definition diagnostic-core.h:105
#define realloc
Definition gengtype-lex.l:33
#define malloc
Definition gengtype-lex.l:32
bool endswith(const char *str, const char *suffix)
Definition system.h:1316
void gcc_stablesort_r(void *, size_t, size_t, sort_r_cmp_fn *, void *data)
Definition sort.cc:309
void gcc_sort_r(void *, size_t, size_t, sort_r_cmp_fn *, void *)
Definition sort.cc:279
void fancy_abort(const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_COLD
Definition diagnostic.cc:1670
void gcc_qsort(void *, size_t, size_t, int(*)(const void *, const void *))
void qsort_chk(void *, size_t, size_t, sort_r_cmp_fn *, void *)
int sort_r_cmp_fn(const void *, const void *, void *)
Definition system.h:1246
const char * strsignal(int)
void gcc_stablesort(void *, size_t, size_t, int(*)(const void *, const void *))
bool startswith(const char *str, const char *prefix)
Definition system.h:1308
#define abort()
Definition system.h:803