aboutsummaryrefslogtreecommitdiff
path: root/tests/pp/15.c
diff options
context:
space:
mode:
authorgrischka <grischka>2016-10-09 20:33:14 +0200
committergrischka <grischka>2016-10-09 20:33:14 +0200
commit71b16f4e18b2794b76cc80cb7d0303243656b050 (patch)
treeafee8de56f0213d74b8404f66c4b9fd62a238730 /tests/pp/15.c
parent78c08898aeb88ae3f8e6a775532a49712188875a (diff)
downloadtinycc-71b16f4e18b2794b76cc80cb7d0303243656b050.tar.gz
tinycc-71b16f4e18b2794b76cc80cb7d0303243656b050.tar.bz2
tccpp : "tcc -E -P" : suppress empty lines
Also: - regenerate all tests/pp/*.expect with gcc - test "insert one space" feature - test "0x1E-1" in asm mode case - PARSE_FLAG_SPACES: ignore \f\v\r better - tcc.h: move some things
Diffstat (limited to 'tests/pp/15.c')
-rw-r--r--tests/pp/15.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/pp/15.c b/tests/pp/15.c
new file mode 100644
index 0000000..d989bee
--- /dev/null
+++ b/tests/pp/15.c
@@ -0,0 +1,18 @@
+// insert a space between two tokens if otherwise they
+// would form a single token when read back
+
+#define n(x) x
+
+return (n(long)n(double))d;
+return n(A)n(++)n(+)n(B);
+return n(A)n(+)n(++)n(B);
+return n(A)n(++)n(+)n(+)n(B);
+
+// not a hex float
+return n(0x1E)n(-1);
+
+// unlike gcc but correct
+XXX: return n(x)+n(x)-n(1)+n(1)-2;
+
+// unlile gcc, but cannot appear in valid C
+XXX: return n(x)n(x)n(1)n(2)n(x);