summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-07-19 08:13:21 +0000
committerChris Lattner <sabre@nondot.org>2006-07-19 08:13:21 +0000
commit9100cff7014d619fd5d3e9ef40018ee80f2a27a8 (patch)
tree30ef10fabd028993b6671fc7463490df09f09c40
parentae637cd2a9c38f7a1f40681c5875e06e79036dee (diff)
downloadbcm5719-llvm-9100cff7014d619fd5d3e9ef40018ee80f2a27a8.tar.gz
bcm5719-llvm-9100cff7014d619fd5d3e9ef40018ee80f2a27a8.zip
new testcase
llvm-svn: 38743
-rw-r--r--clang/test/Preprocessor/macro_disable.c13
-rw-r--r--clang/test/Preprocessor/macro_disable2.c8
-rw-r--r--clang/test/Preprocessor/macro_not_define.c9
3 files changed, 30 insertions, 0 deletions
diff --git a/clang/test/Preprocessor/macro_disable.c b/clang/test/Preprocessor/macro_disable.c
new file mode 100644
index 00000000000..33b856d8f64
--- /dev/null
+++ b/clang/test/Preprocessor/macro_disable.c
@@ -0,0 +1,13 @@
+// RUN: clang -E %s | grep 'a: 2 + M_0(3)(4)(5);' &&
+// RUN: clang -E %s | grep 'b: 4 + 4 + 3 + 2 + 1 + M_0(3)(2)(1);'
+
+#define M_0(x) M_ ## x
+#define M_1(x) x + M_0(0)
+#define M_2(x) x + M_1(1)
+#define M_3(x) x + M_2(2)
+#define M_4(x) x + M_3(3)
+#define M_5(x) x + M_4(4)
+
+a: M_0(1)(2)(3)(4)(5);
+b: M_0(5)(4)(3)(2)(1);
+
diff --git a/clang/test/Preprocessor/macro_disable2.c b/clang/test/Preprocessor/macro_disable2.c
new file mode 100644
index 00000000000..6e1f80469c3
--- /dev/null
+++ b/clang/test/Preprocessor/macro_disable2.c
@@ -0,0 +1,8 @@
+// RUN: clang -E %s | grep 'A B C A B A C A B C A'
+
+#define A A B C
+#define B B C A
+#define C C A B
+
+A
+
diff --git a/clang/test/Preprocessor/macro_not_define.c b/clang/test/Preprocessor/macro_not_define.c
new file mode 100644
index 00000000000..388481a90e8
--- /dev/null
+++ b/clang/test/Preprocessor/macro_not_define.c
@@ -0,0 +1,9 @@
+// RUN: clang -E %s | grep '^ # define X 3$'
+
+#define H #
+ #define D define
+
+ #define DEFINE(a, b) H D a b
+
+ DEFINE(X, 3)
+
OpenPOWER on IntegriCloud