From 29aad310b05e15984daa2886f946dab68d1b62c2 Mon Sep 17 00:00:00 2001 From: Neil Booth Date: Sat, 20 Jan 2001 09:34:13 +0000 Subject: [PATCH] * gcc.dg/cpp/macro3.c,macro4.c,strp1.c: Update. From-SVN: r39153 --- gcc/testsuite/ChangeLog | 4 ++++ gcc/testsuite/gcc.dg/cpp/macro3.c | 24 +++++++----------------- gcc/testsuite/gcc.dg/cpp/macro4.c | 23 ++++++----------------- gcc/testsuite/gcc.dg/cpp/strp1.c | 2 +- 4 files changed, 18 insertions(+), 35 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 80db728b0c2..505bc082f1b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2001-01-20 Neil Booth + + * gcc.dg/cpp/macro3.c,macro4.c,strp1.c: Update. + 2001-01-19 Jakub Jelinek * gcc.c-torture/execute/20010119-1.c: New test. diff --git a/gcc/testsuite/gcc.dg/cpp/macro3.c b/gcc/testsuite/gcc.dg/cpp/macro3.c index b7adaea6c68..e6a5ffc1ed4 100644 --- a/gcc/testsuite/gcc.dg/cpp/macro3.c +++ b/gcc/testsuite/gcc.dg/cpp/macro3.c @@ -5,23 +5,17 @@ Varargs test source Jamie Lokier. All adapted for the testsuite by Neil Booth, Oct 2000. */ -int c(int x) -{ - return x; -} - -int a(int x) -{ - return x; -} - /* Tests various macro abuse is correctly expanded. */ +static int d = 4; #define c(x) d #define d(x) c(2) -/* Every GCC <= 2.96 appears to fail this. */ +#if 0 +/* This macro chain above sucks up the whole file once it starts, so + I've commented it out. The example is left for idle amusement :-) */ #define a(x) b( #define b(x) a( +#endif #define apply(...) apply2 (__VA_ARGS__) #define half(x) ((x) / 2) @@ -32,12 +26,8 @@ extern void exit (int); int main() { - /* Expands to c(2). */ - if (c(c)(c) != 2) - abort (); - - /* Expands to a(2). */ - if (a(a)x)2) != 2) + /* Expands to c(2) then d. */ + if (c(c)(c) != 4) abort (); if (apply (half, 200) != 100) diff --git a/gcc/testsuite/gcc.dg/cpp/macro4.c b/gcc/testsuite/gcc.dg/cpp/macro4.c index c0dfe414b8f..ceaf8ddbfa4 100644 --- a/gcc/testsuite/gcc.dg/cpp/macro4.c +++ b/gcc/testsuite/gcc.dg/cpp/macro4.c @@ -1,24 +1,13 @@ /* Copyright (C) 2000 Free Software Foundation, Inc. */ -/* { dg-do run } */ +/* { dg-do preprocess } */ -/* Test source Neil Booth. GCC <= 2.96 don't get this right. */ - -extern void abort (void); - -int glue (int x, int y) -{ - return x + y; -} +/* Test source Neil Booth. */ #define glue(x, y) x ## y #define xglue(x, y) glue (x, y) -int main () -{ - /* Should expand to glue (1, 2) as the second "glue" is nested. */ - if (glue (xgl, ue) (1, 2) != 3) - abort (); - - return 0; -} +/* Should expand to glue (1, 2), then 12. */ +#if glue (xgl, ue) (1, 2) != 12 +#error glue macro +#endif diff --git a/gcc/testsuite/gcc.dg/cpp/strp1.c b/gcc/testsuite/gcc.dg/cpp/strp1.c index 6a1a5ebc839..096d968c96b 100644 --- a/gcc/testsuite/gcc.dg/cpp/strp1.c +++ b/gcc/testsuite/gcc.dg/cpp/strp1.c @@ -16,7 +16,7 @@ static const char t1[] = "1.1"; #define f h #define h(a) a+f static const char s2[] = S( f(1)(2) ); -static const char t2[] = "1+f(2)"; +static const char t2[] = "1+h(2)"; #undef I #undef f