Mercurial > hg > CbC > CbC_gcc
diff gcc/system.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line diff
--- a/gcc/system.h Fri Oct 27 22:46:09 2017 +0900 +++ b/gcc/system.h Thu Oct 25 07:37:49 2018 +0900 @@ -1,6 +1,6 @@ /* Get common system includes and various definitions and declarations based on autoconf macros. - Copyright (C) 1998-2017 Free Software Foundation, Inc. + Copyright (C) 1998-2018 Free Software Foundation, Inc. This file is part of GCC. @@ -824,6 +824,12 @@ /* Some compilers do not allow the use of unsigned char in bitfields. */ #define BOOL_BITFIELD unsigned int +/* GCC older than 4.4 have broken C++ value initialization handling, see + PR11309, PR30111, PR33916, PR82939 and PR84405 for more details. */ +#if GCC_VERSION > 0 && GCC_VERSION < 4004 && !defined(__clang__) +# define BROKEN_VALUE_INITIALIZATION +#endif + /* As the last action in this file, we poison the identifiers that shouldn't be used. Note, luckily gcc-3.0's token-based integrated preprocessor won't trip on poisoned identifiers that arrive from @@ -912,8 +918,6 @@ RETURN_POPS_ARGS UNITS_PER_SIMD_WORD OVERRIDE_OPTIONS \ OPTIMIZATION_OPTIONS CLASS_LIKELY_SPILLED_P \ USING_SJLJ_EXCEPTIONS TARGET_UNWIND_INFO \ - LABEL_ALIGN_MAX_SKIP LOOP_ALIGN_MAX_SKIP \ - LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP JUMP_ALIGN_MAX_SKIP \ CAN_DEBUG_WITHOUT_FP UNLIKELY_EXECUTED_TEXT_SECTION_NAME \ HOT_TEXT_SECTION_NAME LEGITIMATE_CONSTANT_P ALWAYS_STRIP_DOTDOT \ OUTPUT_ADDR_CONST_EXTRA SMALL_REGISTER_CLASSES ASM_OUTPUT_IDENT \ @@ -1018,7 +1022,8 @@ ROUND_TOWARDS_ZERO SF_SIZE DF_SIZE XF_SIZE TF_SIZE LIBGCC2_TF_CEXT \ LIBGCC2_LONG_DOUBLE_TYPE_SIZE STRUCT_VALUE \ EH_FRAME_IN_DATA_SECTION TARGET_FLT_EVAL_METHOD_NON_DEFAULT \ - JCR_SECTION_NAME TARGET_USE_JCR_SECTION + JCR_SECTION_NAME TARGET_USE_JCR_SECTION SDB_DEBUGGING_INFO \ + SDB_DEBUG NO_IMPLICIT_EXTERN_C /* Hooks that are no longer used. */ #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \ @@ -1192,14 +1197,15 @@ /* Get definitions of HOST_WIDE_INT. */ #include "hwint.h" -/* qsort comparator consistency checking: except in release-checking compilers, - redirect 4-argument qsort calls to qsort_chk; keep 1-argument invocations +/* GCC qsort API-compatible functions: except in release-checking compilers, + redirect 4-argument qsort calls to gcc_qsort; keep 1-argument invocations corresponding to vec::qsort (cmp): they use C qsort internally anyway. */ -#if CHECKING_P +void qsort_chk (void *, size_t, size_t, int (*)(const void *, const void *)); +void gcc_qsort (void *, size_t, size_t, int (*)(const void *, const void *)); +void gcc_stablesort (void *, size_t, size_t, + int (*)(const void *, const void *)); #define PP_5th(a1, a2, a3, a4, a5, ...) a5 #undef qsort -#define qsort(...) PP_5th (__VA_ARGS__, qsort_chk, 3, 2, qsort, 0) (__VA_ARGS__) -void qsort_chk (void *, size_t, size_t, int (*)(const void *, const void *)); -#endif +#define qsort(...) PP_5th (__VA_ARGS__, gcc_qsort, 3, 2, qsort, 0) (__VA_ARGS__) #endif /* ! GCC_SYSTEM_H */