aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/cpp/macro5.c
diff options
context:
space:
mode:
authorNeil Booth <neilb@earthling.net>2000-10-29 11:49:09 +0000
committerNeil Booth <neil@gcc.gnu.org>2000-10-29 11:49:09 +0000
commit00c83d466116974609619c0c08dcafe7b79d5c81 (patch)
tree5a90721df34f0fbd284e9ba209cdb168101d88b2 /gcc/testsuite/gcc.dg/cpp/macro5.c
parent44ed91a1d664478bb2f6f2e277988908ce3675a5 (diff)
downloadgcc-00c83d466116974609619c0c08dcafe7b79d5c81.zip
gcc-00c83d466116974609619c0c08dcafe7b79d5c81.tar.gz
gcc-00c83d466116974609619c0c08dcafe7b79d5c81.tar.bz2
macro4.c, macro5.c: New tests.
* gcc.dg/cpp/macro4.c, macro5.c: New tests. * mi1.c, mi1c.h: Add null directives to multiple-include test. * mi5.c: Test multiple includes work with -C. * trigraphs.c: Test ^= version. From-SVN: r37124
Diffstat (limited to 'gcc/testsuite/gcc.dg/cpp/macro5.c')
-rw-r--r--gcc/testsuite/gcc.dg/cpp/macro5.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/cpp/macro5.c b/gcc/testsuite/gcc.dg/cpp/macro5.c
new file mode 100644
index 0000000..9e226b8
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/macro5.c
@@ -0,0 +1,24 @@
+/* { dg-do preprocess } */
+
+/* Test source Robert Lipe, with minor modifications for the testsuite
+ by Neil Booth. 29 Oct 2000. */
+
+#define _VA_ARGS_0() 42
+#define _L_0() (
+#define _R_0() )
+
+#define __VA_ARGLIST(argc,list) \
+ _VA_ARGS_##argc list
+
+#define _CAT_LIST(argc,list1,list2) \
+ _L_##argc list1 _R_##argc list2
+
+#define _VA_ARGLIST(argc,list1,list2) \
+ __VA_ARGLIST(argc, \
+ _CAT_LIST(argc, list1, list2))
+
+#define BLAH(a) _VA_ARGLIST(a, (), ())
+
+#if BLAH (0) != 42
+#error Simulated varargs macros
+#endif