blob: 83d4325c0b82f59f42a899f08a4c3c1a3a3be88d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
#!/bin/sh
set -eu
dir="${TMPDIR-/tmp}/mcpu-cpp-languages-$$"
mkdir -p "$dir"
trap 'rm -rf "$dir"' EXIT HUP INT TERM
cat > "$dir/ok.c" <<'EOT'
#lang "diff"
#endlang
#lang "DIFT"
#endlang
#lang "Alg"
#endlang
#lang "aS"
#endlang
#lang "AvM"
#endlang
#lang "acs"
#endlang
EOT
"$MCPU_CPP" --no-config "$dir/ok.c" -o "$dir/ok.out"
grep '^#lang "diff"$' "$dir/ok.out" >/dev/null
grep '^#lang "DIFT"$' "$dir/ok.out" >/dev/null
grep '^#lang "Alg"$' "$dir/ok.out" >/dev/null
grep '^#lang "aS"$' "$dir/ok.out" >/dev/null
grep '^#lang "AvM"$' "$dir/ok.out" >/dev/null
grep '^#lang "acs"$' "$dir/ok.out" >/dev/null
for lang in 0 c vasm unknown
do
printf '#lang "%s"\n#endlang\n' "$lang" > "$dir/bad.c"
if "$MCPU_CPP" --no-config "$dir/bad.c" -o "$dir/bad.out" 2> "$dir/bad.err"
then
echo "#lang \"$lang\" unexpectedly accepted" >&2
exit 1
fi
grep "unknown language '$lang'" "$dir/bad.err" >/dev/null
done
|