re PR c/40172 (Revision 147596 breaks bootstrap)
authorH.J. Lu <hongjiu.lu@intel.com>
Tue, 19 May 2009 21:17:00 +0000 (21:17 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Tue, 19 May 2009 21:17:00 +0000 (14:17 -0700)
2009-05-19  H.J. Lu  <hongjiu.lu@intel.com>

PR c/40172
* gcc.dg/pr40172.c: Renamed to ...
* gcc.dg/pr40172-1.c: This.

* gcc.dg/pr40172-2.c: New.
* gcc.dg/pr40172-3.c: Likewise.

From-SVN: r147719

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr40172-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr40172-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr40172-3.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr40172.c [deleted file]

index dab10dff1078fbd8c5a2b00ddf15adb6c9919f94..d3267554d6aa3e77c679fd2bd1fd13bfcd60a78b 100644 (file)
@@ -1,3 +1,12 @@
+2009-05-19  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR c/40172
+       * gcc.dg/pr40172.c: Renamed to ...
+       * gcc.dg/pr40172-1.c: This.
+
+       * gcc.dg/pr40172-2.c: New.
+       * gcc.dg/pr40172-3.c: Likewise.
+
 2009-05-19  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        PR c/40172
diff --git a/gcc/testsuite/gcc.dg/pr40172-1.c b/gcc/testsuite/gcc.dg/pr40172-1.c
new file mode 100644 (file)
index 0000000..a834a8a
--- /dev/null
@@ -0,0 +1,31 @@
+/* PR middle-end/40172 */
+/* { dg-do compile } */
+/* { dg-options "-Wall -W -Werror -Wlogical-op" } */
+
+struct rtx_def;
+typedef struct rtx_def *rtx; 
+
+extern int foo;
+extern int bar;
+extern int xxx;
+
+int
+test (void)
+{
+  if (((rtx) 0 != (rtx) 0) && xxx ? foo : bar)
+    return 1;
+  else if ((foo & 0) && xxx)
+    return 2;
+  else if (foo & 0)
+    return 3;
+  else if (0 && xxx)
+    return 4;
+  else if (0)
+    return 5;
+  if (((int) 0 != (int) 0) && bar ? foo : xxx)
+    return 6;
+  else if (0 != 0 && foo ? xxx : bar)
+    return 7;
+  else
+    return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr40172-2.c b/gcc/testsuite/gcc.dg/pr40172-2.c
new file mode 100644 (file)
index 0000000..17aabb8
--- /dev/null
@@ -0,0 +1,16 @@
+/* PR middle-end/40172 */
+/* { dg-do compile } */
+/* { dg-options "-Wall -W -Werror" } */
+
+extern int xxx;
+
+#define XXX xxx
+
+int
+test (void)
+{
+  if (!XXX && xxx)
+    return 4;
+  else
+    return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr40172-3.c b/gcc/testsuite/gcc.dg/pr40172-3.c
new file mode 100644 (file)
index 0000000..ea74fce
--- /dev/null
@@ -0,0 +1,17 @@
+/* PR middle-end/40172 */
+/* { dg-do compile */
+/* { dg-xfail-if "" { "*-*-*" } { "*" } { "" } } */
+/* { dg-options "-Wall -W -Werror -Wlogical-op" } */
+
+extern int xxx;
+
+#define XXX xxx
+
+int
+test (void)
+{
+  if (!XXX && xxx)
+    return 4;
+  else
+    return 0;
+}
diff --git a/gcc/testsuite/gcc.dg/pr40172.c b/gcc/testsuite/gcc.dg/pr40172.c
deleted file mode 100644 (file)
index a834a8a..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-/* PR middle-end/40172 */
-/* { dg-do compile } */
-/* { dg-options "-Wall -W -Werror -Wlogical-op" } */
-
-struct rtx_def;
-typedef struct rtx_def *rtx; 
-
-extern int foo;
-extern int bar;
-extern int xxx;
-
-int
-test (void)
-{
-  if (((rtx) 0 != (rtx) 0) && xxx ? foo : bar)
-    return 1;
-  else if ((foo & 0) && xxx)
-    return 2;
-  else if (foo & 0)
-    return 3;
-  else if (0 && xxx)
-    return 4;
-  else if (0)
-    return 5;
-  if (((int) 0 != (int) 0) && bar ? foo : xxx)
-    return 6;
-  else if (0 != 0 && foo ? xxx : bar)
-    return 7;
-  else
-    return 0;
-}