diff gcc/testsuite/gcc.dg/cpp/redef2.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children 84e7813d76e9
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gcc/testsuite/gcc.dg/cpp/redef2.c	Fri Oct 27 22:46:09 2017 +0900
@@ -0,0 +1,31 @@
+/* Test for redefining macros with significant differences.  */
+
+/* { dg-do preprocess }
+   { dg-options "-ansi -Wall" } */
+
+#define mac(a, b) (a) + (b)
+#define mac(a, b) (a) * (b)
+#define mac(a, b) (a) * (x)
+#define mac(a, g) (a) * (x)
+
+#define ro(x) foo x bar
+#define ro(x, b) foo x bar
+
+#define va(a...) a
+#define va(...) __VA_ARGS__
+
+#define foo(x) x
+#define foo(x)x		/* { dg-bogus "redefined" "redefined foo" } */
+
+/* { dg-warning "redefined" "redef mac"     { target *-*-* } 7  }
+   { dg-warning "redefined" "redef mac"     { target *-*-* } 8  }
+   { dg-warning "redefined" "redef mac"     { target *-*-* } 9  }
+   { dg-warning "redefined" "redef ro"      { target *-*-* } 12 }
+   { dg-warning "redefined" "redef va"      { target *-*-* } 15 }
+
+   { dg-message "previous"  "prev def mac"  { target *-*-* } 6  }
+   { dg-message "previous"  "prev def mac"  { target *-*-* } 7  }
+   { dg-message "previous"  "prev def mac"  { target *-*-* } 8  }
+   { dg-message "previous"  "prev def ro"   { target *-*-* } 11 }
+   { dg-message "previous"  "prev def va"   { target *-*-* } 14 }
+*/