3 CPARSER=../build/cparser
4 CPARSER_FLAGS="-O3 -fno-inline"
6 rm -f messages.cparser messages.gcc
7 for i in *.c should_pass/*.c; do
8 echo -n "Compile $i..."
9 "$CPARSER" $i $CPARSER_FLAGS -std=c99 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED"
10 gcc -m32 -std=c99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC COMPILE FAILED"
11 ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN"
12 ./prog.gcc > out.gcc || echo -n " FAILED GCC RUN"
13 diff -u out.cparser out.gcc > /dev/null || echo -n " RESULTS MISCOMPARE"
17 for i in gnu99/*.c; do
18 echo -n "Compile $i..."
19 "$CPARSER" $i $CPARSER_FLAGS -std=gnu99 -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED"
20 gcc -m32 -std=gnu99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC COMPILE FAILED"
21 ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN"
22 ./prog.gcc > out.gcc || echo -n " FAILED GCC RUN"
23 diff -u out.cparser out.gcc > /dev/null || echo -n " RESULTS MISCOMPARE"
28 echo -n "Compile $i..."
29 "$CPARSER" $CPARSER_FLAGS --ms $i -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER COMPILE FAILED"
30 ./prog.cparser > out.cparser || echo -n " FAILED CPARSER RUN"
34 for i in should_warn/*.c; do
35 echo -n "Compile $i..."
36 "$CPARSER" $CPARSER_FLAGS $i -Wall -o prog.cparser >> messages.cparser 2>&1 || echo -n " CPARSER DID NOT COMPILE"
37 gcc -Wall -m32 -std=gnu99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 || echo -n " GCC DID NOT COMPILER"
39 if diff -u /dev/null messages.cparser > /dev/null; then
40 echo -n " CPARSER HAD NO WARNINGS"
42 if diff -u /dev/null messages.gcc > /dev/null; then
43 echo -n " GCC HAD NO WARNINGS"
47 for i in should_fail/*.c; do
48 echo -n "Compile $i..."
49 "$CPARSER" $CPARSER_FLAGS $i -std=c99 -o prog.cparser >> messages.cparser 2>&1 && echo -n " CPARSER COMPILED"
50 gcc -m32 -std=c99 $i -O3 -o prog.gcc >> messages.gcc 2>&1 && echo -n " GCC COMPILED"