Commit dd666a87 by Neil Booth Committed by Neil Booth

* gcc.dg/cpp/macro8.c: New tests.

From-SVN: r44502
parent 91abf72d
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> 2001-07-27 Nathan Sidwell <nathan@codesourcery.com>
* g++.dg/abi/vbase8-21.C: New test. * g++.dg/abi/vbase8-21.C: New test.
......
/* { 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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment