* gcc.dg/cpp/macro8.c: New tests.
From-SVN: r44502
This commit is contained in:
parent
91abf72dfc
commit
dd666a872b
2 changed files with 33 additions and 0 deletions
|
@ -1,3 +1,7 @@
|
|||
2001-07-31 Neil Booth <neil@cat.daikokuya.demon.co.uk>
|
||||
|
||||
* gcc.dg/cpp/macro8.c: New test.
|
||||
|
||||
2001-07-27 Nathan Sidwell <nathan@codesourcery.com>
|
||||
|
||||
* g++.dg/abi/vbase8-21.C: New test.
|
||||
|
|
29
gcc/testsuite/gcc.dg/cpp/macro8.c
Normal file
29
gcc/testsuite/gcc.dg/cpp/macro8.c
Normal file
|
@ -0,0 +1,29 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options -std=gnu89 } */
|
||||
|
||||
/* GCC 2.95.2 used to get the following variable argument macro
|
||||
expansions wrong.
|
||||
|
||||
Source: Neil Booth, from PR 3852 with persmission. 31 Jul 2001. */
|
||||
|
||||
#define TEST_WORSE(args...) (5, ## args)
|
||||
#define TEST_BAD(foo, args...) (2, (foo), ## args)
|
||||
|
||||
extern void abort ();
|
||||
|
||||
static int add (int a, int b)
|
||||
{
|
||||
return a + b;
|
||||
}
|
||||
|
||||
int main ()
|
||||
{
|
||||
/* Would expand to a single closing parenthesis, maybe because of
|
||||
the "no args requires space" brokenness. */
|
||||
if (TEST_WORSE () != 5)
|
||||
abort ();
|
||||
/* The macro would expand to (0, (0) with a missing closing parenthesis. */
|
||||
if (add TEST_BAD (5) != 7)
|
||||
abort ();
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Reference in a new issue