117ddaa67SDaniel Dunbar /* 217ddaa67SDaniel Dunbar This is a clang style test case for checking that preprocessor 317ddaa67SDaniel Dunbar defines match gcc. 417ddaa67SDaniel Dunbar */ 517ddaa67SDaniel Dunbar 617ddaa67SDaniel Dunbar /* 717ddaa67SDaniel Dunbar RUN: for arch in -m32 -m64; do \ 817ddaa67SDaniel Dunbar RUN: for lang in -std=gnu89 -ansi -std=c99 -std=gnu99; do \ 917ddaa67SDaniel Dunbar RUN: for input in c objective-c; do \ 1017ddaa67SDaniel Dunbar RUN: for opts in "-O0" "-O1 -dynamic" "-O2 -static" "-Os"; do \ 1117ddaa67SDaniel Dunbar RUN: echo "-- $arch, $lang, $input, $opts --"; \ 1217ddaa67SDaniel Dunbar RUN: for cc in 0 1; do \ 1317ddaa67SDaniel Dunbar RUN: if [ "$cc" == 0 ]; then \ 1417ddaa67SDaniel Dunbar RUN: cc_prog=clang; \ 1517ddaa67SDaniel Dunbar RUN: output=%t0; \ 1617ddaa67SDaniel Dunbar RUN: else \ 1717ddaa67SDaniel Dunbar RUN: cc_prog=gcc; \ 1817ddaa67SDaniel Dunbar RUN: output=%t1; \ 1917ddaa67SDaniel Dunbar RUN: fi; \ 20a3bb6f2eSDaniel Dunbar RUN: $cc_prog $arch $lang $opts -march=core2 -dM -E -x $input %s | sort > $output; \ 2117ddaa67SDaniel Dunbar RUN: done; \ 2217ddaa67SDaniel Dunbar RUN: if (! diff %t0 %t1); then exit 1; fi; \ 2317ddaa67SDaniel Dunbar RUN: done; \ 2417ddaa67SDaniel Dunbar RUN: done; \ 2517ddaa67SDaniel Dunbar RUN: done; \ 2617ddaa67SDaniel Dunbar RUN: done; 2717ddaa67SDaniel Dunbar */ 2817ddaa67SDaniel Dunbar 2917ddaa67SDaniel Dunbar /* We don't care about this difference */ 3017ddaa67SDaniel Dunbar #ifdef __PIC__ 3117ddaa67SDaniel Dunbar #if __PIC__ == 1 3217ddaa67SDaniel Dunbar #undef __PIC__ 3317ddaa67SDaniel Dunbar #undef __pic__ 3417ddaa67SDaniel Dunbar #define __PIC__ 2 3517ddaa67SDaniel Dunbar #define __pic__ 2 3617ddaa67SDaniel Dunbar #endif 3717ddaa67SDaniel Dunbar #endif 3817ddaa67SDaniel Dunbar 3917ddaa67SDaniel Dunbar /* Undefine things we don't expect to match. */ 40a3bb6f2eSDaniel Dunbar #undef __core2 41a3bb6f2eSDaniel Dunbar #undef __core2__ 42a3bb6f2eSDaniel Dunbar #undef __SSSE3__ 43a3bb6f2eSDaniel Dunbar 44a3bb6f2eSDaniel Dunbar /* Undefine things we don't expect to match. */ 4517ddaa67SDaniel Dunbar #undef __DEC_EVAL_METHOD__ 4617ddaa67SDaniel Dunbar #undef __INT16_TYPE__ 4717ddaa67SDaniel Dunbar #undef __INT32_TYPE__ 4817ddaa67SDaniel Dunbar #undef __INT64_TYPE__ 4917ddaa67SDaniel Dunbar #undef __INT8_TYPE__ 5017ddaa67SDaniel Dunbar #undef __SSP__ 5117ddaa67SDaniel Dunbar #undef __APPLE_CC__ 52*21a92a8aSSylvestre Ledru #undef __VERSION__ 5317ddaa67SDaniel Dunbar #undef __clang__ 5417ddaa67SDaniel Dunbar #undef __llvm__ 5517ddaa67SDaniel Dunbar #undef __nocona 5617ddaa67SDaniel Dunbar #undef __nocona__ 5717ddaa67SDaniel Dunbar #undef __k8 5817ddaa67SDaniel Dunbar #undef __k8__ 5917ddaa67SDaniel Dunbar #undef __tune_nocona__ 6017ddaa67SDaniel Dunbar #undef __tune_core2__ 6117ddaa67SDaniel Dunbar #undef __POINTER_WIDTH__ 6217ddaa67SDaniel Dunbar #undef __INTPTR_TYPE__ 6344ea0b2eSDaniel Dunbar #undef __NO_MATH_INLINES 6417ddaa67SDaniel Dunbar 6517ddaa67SDaniel Dunbar #undef __DEC128_DEN__ 6617ddaa67SDaniel Dunbar #undef __DEC128_EPSILON__ 6717ddaa67SDaniel Dunbar #undef __DEC128_MANT_DIG__ 6817ddaa67SDaniel Dunbar #undef __DEC128_MAX_EXP__ 6917ddaa67SDaniel Dunbar #undef __DEC128_MAX__ 7017ddaa67SDaniel Dunbar #undef __DEC128_MIN_EXP__ 7117ddaa67SDaniel Dunbar #undef __DEC128_MIN__ 7217ddaa67SDaniel Dunbar #undef __DEC32_DEN__ 7317ddaa67SDaniel Dunbar #undef __DEC32_EPSILON__ 7417ddaa67SDaniel Dunbar #undef __DEC32_MANT_DIG__ 7517ddaa67SDaniel Dunbar #undef __DEC32_MAX_EXP__ 7617ddaa67SDaniel Dunbar #undef __DEC32_MAX__ 7717ddaa67SDaniel Dunbar #undef __DEC32_MIN_EXP__ 7817ddaa67SDaniel Dunbar #undef __DEC32_MIN__ 7917ddaa67SDaniel Dunbar #undef __DEC64_DEN__ 8017ddaa67SDaniel Dunbar #undef __DEC64_EPSILON__ 8117ddaa67SDaniel Dunbar #undef __DEC64_MANT_DIG__ 8217ddaa67SDaniel Dunbar #undef __DEC64_MAX_EXP__ 8317ddaa67SDaniel Dunbar #undef __DEC64_MAX__ 8417ddaa67SDaniel Dunbar #undef __DEC64_MIN_EXP__ 8517ddaa67SDaniel Dunbar #undef __DEC64_MIN__ 86