]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/gcc.dg/cpp/macsyntx.c
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / gcc.dg / cpp / macsyntx.c
diff --git a/gcc/testsuite/gcc.dg/cpp/macsyntx.c b/gcc/testsuite/gcc.dg/cpp/macsyntx.c
deleted file mode 100644 (file)
index d028ebd..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.  */
-
-/* { dg-do preprocess } */
-/* { dg-options "-pedantic -std=gnu99" } */
-
-/* Tests macro syntax, for both definition and invocation, including:-
-
-   o Full range of macro definition semantics.
-   o No. of arguments supplied to function-like macros.
-   o Odd GNU rest args behaviour.
-   o Macro arguments do not flow into the rest of the file.  */
-
-
-/* Test basic macro definition syntax.  The macros are all called
-   "foo" deliberately to provoke an (excess) redefinition warning in
-   case the macros succeed in being entered in the macro hash table
-   despite being an error.
-
-   Split a couple of the lines to check that the errors appear on the
-   right line (i.e. are associated with the correct token).  */
-
-#define ;                      /* { dg-error "identifier" } */
-#define SEMI;                  /* { dg-warning "space" } */
-#define foo(X                  /* { dg-error "missing" } */
-#define foo\
-(X,)                           /* { dg-error "parameter name" } */
-#define foo(, X)               /* { dg-error "parameter name" } */
-#define foo(X, X)              /* { dg-error "duplicate" } */
-#define foo(X Y)               /* { dg-error "comma" } */
-#define foo(()                 /* { dg-error "may not appear" } */
-#define foo(..., X)            /* { dg-error "missing" } */
-#define foo \
-__VA_ARGS__                    /* { dg-warning "__VA_ARGS__" } */
-#define goo(__VA_ARGS__)       /* { dg-warning "__VA_ARGS__" } */
-#define hoo(...) __VA_ARGS__   /* OK.  */
-#define __VA_ARGS__            /* { dg-warning "__VA_ARGS__" } */
-__VA_ARGS__                    /* { dg-warning "__VA_ARGS__" } */
-
-/* test # of supplied arguments.  */
-#define none()
-#define one(x)
-#define two(x, y)
-#define var0(...)
-#define var1(x, ...)
-none()                         /* OK.  */
-none(ichi)                     /* { dg-error "passed 1" } */
-one()                          /* OK.  */
-one(ichi)                      /* OK.  */
-one(ichi\
-, ni)                          /* { dg-error "passed 2" } */
-two(ichi)                      /* { dg-error "requires 2" } */
-var0()                         /* OK.  */
-var0(ichi)                     /* OK.  */
-var1()                         /* { dg-warning "rest arguments to be used" } */
-var1(ichi)                     /* { dg-warning "rest arguments to be used" } */
-var1(ichi, ni)                 /* OK.  */
-
-/* This tests two oddities of GNU rest args - omitting a comma is OK,
-   and backtracking a token on pasting an empty rest args.  */
-#define rest(x, y...) x ## y   /* { dg-warning "ISO C" } */
-rest(ichi,)                    /* OK.  */
-rest(ichi)                     /* { dg-warning "rest arguments to be used" } */
-#if 23 != rest(2, 3)           /* OK, no warning.  */
-#error 23 != 23 !!
-#endif
-
-/* Test that we don't allow arguments to flow into the rest of the
-   file.  */
-#define half_invocation do_nowt(2
-#define do_nowt(x) x
-half_invocation )              /* OK.  */
-do_nowt (half_invocation))     /* { dg-error "unterminated argument" } */