aboutsummaryrefslogtreecommitdiff
path: root/utils/CheckBuiltinMacros.sh
blob: 6a8573c0c14645711369cc92461464203527cf33 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
set -ex

if [ -z "$CC" ]; then
    CC="gcc"
fi

SRCLANG=c
MACROLIST=macro-list.txt
CCDEFS=cc-definitions.txt
CLANGDEFS=clang-definitions.txt

# Gather list of macros as "NAME" = NAME.
$CC -dM -E -x $SRCLANG /dev/null -o - | \
grep "#define" | sort -f | sed -e "s/#define \([^ ]*\) .*/\"\1\" = \1/" > $MACROLIST

$CC -E -x $SRCLANG $MACROLIST > $CCDEFS

clang -E -x $SRCLANG $MACROLIST > $CLANGDEFS

diff $CCDEFS $CLANGDEFS