summaryrefslogtreecommitdiff
path: root/tests/t0015-object-macros.sh
blob: a59bd234fa2c11fd3d250d40e9d9036fbc58711d (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
#!/bin/sh
set -eu
src="${TMPDIR-/tmp}/mcpu-cpp-macro-$$.c"
out="${TMPDIR-/tmp}/mcpu-cpp-macro-$$.out"
trap 'rm -f "$src" "$out"' EXIT HUP INT TERM
cat > "$src" <<'EOT'
#define A B
#define B 42
#define EMPTY
A
x EMPTY y
"A B"
#define SELF SELF
SELF
#undef B
A
#lang "diff"
y' = A;
#endlang
EOT
"$MCPU_CPP" --no-config "$src" -o "$out"
grep '^42$' "$out" >/dev/null
grep '^x  y$' "$out" >/dev/null
grep '^"A B"$' "$out" >/dev/null
grep '^SELF$' "$out" >/dev/null
grep '^B$' "$out" >/dev/null
grep "y' = B;" "$out" >/dev/null