* gcc.dg/cpp/macro6.c: New test cases.
From-SVN: r37972
This commit is contained in:
parent
8aaef6e0c9
commit
881bc7db37
@ -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.
|
||||
|
32
gcc/testsuite/gcc.dg/cpp/macro6.c
Normal file
32
gcc/testsuite/gcc.dg/cpp/macro6.c
Normal 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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user