1*e5dd7070Spatrick /* 2*e5dd7070Spatrick This is a clang style test case for checking that preprocessor 3*e5dd7070Spatrick defines match gcc. 4*e5dd7070Spatrick */ 5*e5dd7070Spatrick 6*e5dd7070Spatrick /* 7*e5dd7070Spatrick RUN: for arch in -m32 -m64; do \ 8*e5dd7070Spatrick RUN: for lang in -std=gnu89 -ansi -std=c99 -std=gnu99; do \ 9*e5dd7070Spatrick RUN: for input in c objective-c; do \ 10*e5dd7070Spatrick RUN: for opts in "-O0" "-O1 -dynamic" "-O2 -static" "-Os"; do \ 11*e5dd7070Spatrick RUN: echo "-- $arch, $lang, $input, $opts --"; \ 12*e5dd7070Spatrick RUN: for cc in 0 1; do \ 13*e5dd7070Spatrick RUN: if [ "$cc" == 0 ]; then \ 14*e5dd7070Spatrick RUN: cc_prog=clang; \ 15*e5dd7070Spatrick RUN: output=%t0; \ 16*e5dd7070Spatrick RUN: else \ 17*e5dd7070Spatrick RUN: cc_prog=gcc; \ 18*e5dd7070Spatrick RUN: output=%t1; \ 19*e5dd7070Spatrick RUN: fi; \ 20*e5dd7070Spatrick RUN: $cc_prog $arch $lang $opts -march=core2 -dM -E -x $input %s | sort > $output; \ 21*e5dd7070Spatrick RUN: done; \ 22*e5dd7070Spatrick RUN: if (! diff %t0 %t1); then exit 1; fi; \ 23*e5dd7070Spatrick RUN: done; \ 24*e5dd7070Spatrick RUN: done; \ 25*e5dd7070Spatrick RUN: done; \ 26*e5dd7070Spatrick RUN: done; 27*e5dd7070Spatrick */ 28*e5dd7070Spatrick 29*e5dd7070Spatrick /* We don't care about this difference */ 30*e5dd7070Spatrick #ifdef __PIC__ 31*e5dd7070Spatrick #if __PIC__ == 1 32*e5dd7070Spatrick #undef __PIC__ 33*e5dd7070Spatrick #undef __pic__ 34*e5dd7070Spatrick #define __PIC__ 2 35*e5dd7070Spatrick #define __pic__ 2 36*e5dd7070Spatrick #endif 37*e5dd7070Spatrick #endif 38*e5dd7070Spatrick 39*e5dd7070Spatrick /* Undefine things we don't expect to match. */ 40*e5dd7070Spatrick #undef __core2 41*e5dd7070Spatrick #undef __core2__ 42*e5dd7070Spatrick #undef __SSSE3__ 43*e5dd7070Spatrick 44*e5dd7070Spatrick /* Undefine things we don't expect to match. */ 45*e5dd7070Spatrick #undef __DEC_EVAL_METHOD__ 46*e5dd7070Spatrick #undef __INT16_TYPE__ 47*e5dd7070Spatrick #undef __INT32_TYPE__ 48*e5dd7070Spatrick #undef __INT64_TYPE__ 49*e5dd7070Spatrick #undef __INT8_TYPE__ 50*e5dd7070Spatrick #undef __SSP__ 51*e5dd7070Spatrick #undef __APPLE_CC__ 52*e5dd7070Spatrick #undef __VERSION__ 53*e5dd7070Spatrick #undef __clang__ 54*e5dd7070Spatrick #undef __llvm__ 55*e5dd7070Spatrick #undef __nocona 56*e5dd7070Spatrick #undef __nocona__ 57*e5dd7070Spatrick #undef __k8 58*e5dd7070Spatrick #undef __k8__ 59*e5dd7070Spatrick #undef __tune_nocona__ 60*e5dd7070Spatrick #undef __tune_core2__ 61*e5dd7070Spatrick #undef __POINTER_WIDTH__ 62*e5dd7070Spatrick #undef __INTPTR_TYPE__ 63*e5dd7070Spatrick #undef __NO_MATH_INLINES 64*e5dd7070Spatrick 65*e5dd7070Spatrick #undef __DEC128_DEN__ 66*e5dd7070Spatrick #undef __DEC128_EPSILON__ 67*e5dd7070Spatrick #undef __DEC128_MANT_DIG__ 68*e5dd7070Spatrick #undef __DEC128_MAX_EXP__ 69*e5dd7070Spatrick #undef __DEC128_MAX__ 70*e5dd7070Spatrick #undef __DEC128_MIN_EXP__ 71*e5dd7070Spatrick #undef __DEC128_MIN__ 72*e5dd7070Spatrick #undef __DEC32_DEN__ 73*e5dd7070Spatrick #undef __DEC32_EPSILON__ 74*e5dd7070Spatrick #undef __DEC32_MANT_DIG__ 75*e5dd7070Spatrick #undef __DEC32_MAX_EXP__ 76*e5dd7070Spatrick #undef __DEC32_MAX__ 77*e5dd7070Spatrick #undef __DEC32_MIN_EXP__ 78*e5dd7070Spatrick #undef __DEC32_MIN__ 79*e5dd7070Spatrick #undef __DEC64_DEN__ 80*e5dd7070Spatrick #undef __DEC64_EPSILON__ 81*e5dd7070Spatrick #undef __DEC64_MANT_DIG__ 82*e5dd7070Spatrick #undef __DEC64_MAX_EXP__ 83*e5dd7070Spatrick #undef __DEC64_MAX__ 84*e5dd7070Spatrick #undef __DEC64_MIN_EXP__ 85*e5dd7070Spatrick #undef __DEC64_MIN__ 86