* gcc.dg/cpp/macro6.c: New test cases.

From-SVN: r37972
This commit is contained in:
Neil Booth 2000-12-03 12:07:40 +00:00 committed by Neil Booth
parent 8aaef6e0c9
commit 881bc7db37
2 changed files with 36 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2000-12-03 Neil Booth <neilb@earthling.net>
* gcc.dg/cpp/macro6.c: New test cases.
2000-12-02 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* gcc.c-torture/execute/string-opt-9.c: New test.

View File

@ -0,0 +1,32 @@
/* { dg-do run } */
/* Test that, when a macro expansion spills into the source file, we
expand macros we suck in from there, as the standard clearly states
they are not nested.
Submitter: Neil Booth, with minor modifications to the originals. 3
Dec 2000.
Source: PR 962 and Thomas Pornin. */
extern void abort (void);
int e = 10, f = 100;
#define e(n) 4 + n
#define X e
#define f(x) x
#define h(x) x + f
int
main ()
{
if (X(X) != 14) /* Should expand to "4 + e". */
abort ();
if (X(X(f)) != 108) /* Should expand to "4 + 4 + f". */
abort ();
if (h(e)(h(e)) != 120) /* Should expand to "e + e + f". */
abort ();
return 0;
}