OSDN Git Service

* gcc.dg/cpp/macro3.c,macro4.c,strp1.c: Update.
authorneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Jan 2001 09:34:13 +0000 (09:34 +0000)
committerneil <neil@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Jan 2001 09:34:13 +0000 (09:34 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39153 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/cpp/macro3.c
gcc/testsuite/gcc.dg/cpp/macro4.c
gcc/testsuite/gcc.dg/cpp/strp1.c

index 80db728..505bc08 100644 (file)
@@ -1,3 +1,7 @@
+2001-01-20  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+        * gcc.dg/cpp/macro3.c,macro4.c,strp1.c: Update.
+
 2001-01-19  Jakub Jelinek  <jakub@redhat.com>
 
        * gcc.c-torture/execute/20010119-1.c: New test.
index b7adaea..e6a5ffc 100644 (file)
@@ -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)
index c0dfe41..ceaf8dd 100644 (file)
@@ -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
index 6a1a5eb..096d968 100644 (file)
@@ -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