Mercurial > hg > CbC > CbC_gcc
comparison gcc/system.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* Get common system includes and various definitions and declarations based | 1 /* Get common system includes and various definitions and declarations based |
2 on autoconf macros. | 2 on autoconf macros. |
3 Copyright (C) 1998-2017 Free Software Foundation, Inc. | 3 Copyright (C) 1998-2018 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
8 the terms of the GNU General Public License as published by the Free | 8 the terms of the GNU General Public License as published by the Free |
821 # define FALSE false | 821 # define FALSE false |
822 #endif /* !__cplusplus */ | 822 #endif /* !__cplusplus */ |
823 | 823 |
824 /* Some compilers do not allow the use of unsigned char in bitfields. */ | 824 /* Some compilers do not allow the use of unsigned char in bitfields. */ |
825 #define BOOL_BITFIELD unsigned int | 825 #define BOOL_BITFIELD unsigned int |
826 | |
827 /* GCC older than 4.4 have broken C++ value initialization handling, see | |
828 PR11309, PR30111, PR33916, PR82939 and PR84405 for more details. */ | |
829 #if GCC_VERSION > 0 && GCC_VERSION < 4004 && !defined(__clang__) | |
830 # define BROKEN_VALUE_INITIALIZATION | |
831 #endif | |
826 | 832 |
827 /* As the last action in this file, we poison the identifiers that | 833 /* As the last action in this file, we poison the identifiers that |
828 shouldn't be used. Note, luckily gcc-3.0's token-based integrated | 834 shouldn't be used. Note, luckily gcc-3.0's token-based integrated |
829 preprocessor won't trip on poisoned identifiers that arrive from | 835 preprocessor won't trip on poisoned identifiers that arrive from |
830 the expansion of macros. E.g. #define strrchr rindex, won't error | 836 the expansion of macros. E.g. #define strrchr rindex, won't error |
910 CAN_ELIMINATE TRAMPOLINE_TEMPLATE INITIALIZE_TRAMPOLINE \ | 916 CAN_ELIMINATE TRAMPOLINE_TEMPLATE INITIALIZE_TRAMPOLINE \ |
911 TRAMPOLINE_ADJUST_ADDRESS STATIC_CHAIN STATIC_CHAIN_INCOMING \ | 917 TRAMPOLINE_ADJUST_ADDRESS STATIC_CHAIN STATIC_CHAIN_INCOMING \ |
912 RETURN_POPS_ARGS UNITS_PER_SIMD_WORD OVERRIDE_OPTIONS \ | 918 RETURN_POPS_ARGS UNITS_PER_SIMD_WORD OVERRIDE_OPTIONS \ |
913 OPTIMIZATION_OPTIONS CLASS_LIKELY_SPILLED_P \ | 919 OPTIMIZATION_OPTIONS CLASS_LIKELY_SPILLED_P \ |
914 USING_SJLJ_EXCEPTIONS TARGET_UNWIND_INFO \ | 920 USING_SJLJ_EXCEPTIONS TARGET_UNWIND_INFO \ |
915 LABEL_ALIGN_MAX_SKIP LOOP_ALIGN_MAX_SKIP \ | |
916 LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP JUMP_ALIGN_MAX_SKIP \ | |
917 CAN_DEBUG_WITHOUT_FP UNLIKELY_EXECUTED_TEXT_SECTION_NAME \ | 921 CAN_DEBUG_WITHOUT_FP UNLIKELY_EXECUTED_TEXT_SECTION_NAME \ |
918 HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P ALWAYS_STRIP_DOTDOT \ | 922 HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P ALWAYS_STRIP_DOTDOT \ |
919 OUTPUT_ADDR_CONST_EXTRA SMALL_REGISTER_CLASSES ASM_OUTPUT_IDENT \ | 923 OUTPUT_ADDR_CONST_EXTRA SMALL_REGISTER_CLASSES ASM_OUTPUT_IDENT \ |
920 ASM_BYTE_OP MEMBER_TYPE_FORCES_BLK LIBGCC2_HAS_SF_MODE \ | 924 ASM_BYTE_OP MEMBER_TYPE_FORCES_BLK LIBGCC2_HAS_SF_MODE \ |
921 LIBGCC2_HAS_DF_MODE LIBGCC2_HAS_XF_MODE LIBGCC2_HAS_TF_MODE \ | 925 LIBGCC2_HAS_DF_MODE LIBGCC2_HAS_XF_MODE LIBGCC2_HAS_TF_MODE \ |
1016 EXTRA_ADDRESS_CONSTRAINT CONST_DOUBLE_OK_FOR_CONSTRAINT_P \ | 1020 EXTRA_ADDRESS_CONSTRAINT CONST_DOUBLE_OK_FOR_CONSTRAINT_P \ |
1017 CALLER_SAVE_PROFITABLE LARGEST_EXPONENT_IS_NORMAL \ | 1021 CALLER_SAVE_PROFITABLE LARGEST_EXPONENT_IS_NORMAL \ |
1018 ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE LIBGCC2_TF_CEXT \ | 1022 ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE LIBGCC2_TF_CEXT \ |
1019 LIBGCC2_LONG_DOUBLE_TYPE_SIZE STRUCT_VALUE \ | 1023 LIBGCC2_LONG_DOUBLE_TYPE_SIZE STRUCT_VALUE \ |
1020 EH_FRAME_IN_DATA_SECTION TARGET_FLT_EVAL_METHOD_NON_DEFAULT \ | 1024 EH_FRAME_IN_DATA_SECTION TARGET_FLT_EVAL_METHOD_NON_DEFAULT \ |
1021 JCR_SECTION_NAME TARGET_USE_JCR_SECTION | 1025 JCR_SECTION_NAME TARGET_USE_JCR_SECTION SDB_DEBUGGING_INFO \ |
1026 SDB_DEBUG NO_IMPLICIT_EXTERN_C | |
1022 | 1027 |
1023 /* Hooks that are no longer used. */ | 1028 /* Hooks that are no longer used. */ |
1024 #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ | 1029 #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ |
1025 LANG_HOOKS_MARK_TREE LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES \ | 1030 LANG_HOOKS_MARK_TREE LANG_HOOKS_INSERT_DEFAULT_ATTRIBUTES \ |
1026 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS \ | 1031 LANG_HOOKS_TREE_INLINING_ESTIMATE_NUM_INSNS \ |
1190 #define TEST_BIT(X, Y) (((X) >> (Y)) & 1) | 1195 #define TEST_BIT(X, Y) (((X) >> (Y)) & 1) |
1191 | 1196 |
1192 /* Get definitions of HOST_WIDE_INT. */ | 1197 /* Get definitions of HOST_WIDE_INT. */ |
1193 #include "hwint.h" | 1198 #include "hwint.h" |
1194 | 1199 |
1195 /* qsort comparator consistency checking: except in release-checking compilers, | 1200 /* GCC qsort API-compatible functions: except in release-checking compilers, |
1196 redirect 4-argument qsort calls to qsort_chk; keep 1-argument invocations | 1201 redirect 4-argument qsort calls to gcc_qsort; keep 1-argument invocations |
1197 corresponding to vec::qsort (cmp): they use C qsort internally anyway. */ | 1202 corresponding to vec::qsort (cmp): they use C qsort internally anyway. */ |
1198 #if CHECKING_P | 1203 void qsort_chk (void *, size_t, size_t, int (*)(const void *, const void *)); |
1204 void gcc_qsort (void *, size_t, size_t, int (*)(const void *, const void *)); | |
1205 void gcc_stablesort (void *, size_t, size_t, | |
1206 int (*)(const void *, const void *)); | |
1199 #define PP_5th(a1, a2, a3, a4, a5, ...) a5 | 1207 #define PP_5th(a1, a2, a3, a4, a5, ...) a5 |
1200 #undef qsort | 1208 #undef qsort |
1201 #define qsort(...) PP_5th (__VA_ARGS__, qsort_chk, 3, 2, qsort, 0) (__VA_ARGS__) | 1209 #define qsort(...) PP_5th (__VA_ARGS__, gcc_qsort, 3, 2, qsort, 0) (__VA_ARGS__) |
1202 void qsort_chk (void *, size_t, size_t, int (*)(const void *, const void *)); | |
1203 #endif | |
1204 | 1210 |
1205 #endif /* ! GCC_SYSTEM_H */ | 1211 #endif /* ! GCC_SYSTEM_H */ |