dumpfile.c (dump_finish): Don't close stderr/stdout.
authorTeresa Johnson <tejohnson@google.com>
Wed, 4 Sep 2013 14:31:20 +0000 (14:31 +0000)
committerTeresa Johnson <tejohnson@gcc.gnu.org>
Wed, 4 Sep 2013 14:31:20 +0000 (14:31 +0000)
2013-09-04  Teresa Johnson  <tejohnson@google.com>

* dumpfile.c (dump_finish): Don't close stderr/stdout.

* testsuite/gcc.dg/unroll_1.c: Test dumping to stderr.

From-SVN: r202260

gcc/ChangeLog
gcc/dumpfile.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/unroll_1.c

index 8326122..abf8182 100644 (file)
@@ -1,3 +1,7 @@
+2013-09-04  Teresa Johnson  <tejohnson@google.com>
+
+       * dumpfile.c (dump_finish): Don't close stderr/stdout.
+
 2013-09-04  James Greenhalgh  <james.greenhalgh@arm.com>
 
        * config/aarch64/arm_neon.h (vaddvq_<su>64): Fix return types.
index 6f15634..6ac15dd 100644 (file)
@@ -450,7 +450,9 @@ dump_finish (int phase)
   if (phase < 0)
     return;
   dfi = get_dump_file_info (phase);
-  if (dfi->pstream)
+  if (dfi->pstream && (!dfi->pfilename
+                       || (strcmp("stderr", dfi->pfilename) != 0
+                           && strcmp("stdout", dfi->pfilename) != 0)))
     fclose (dfi->pstream);
 
   if (dfi->alt_stream && strcmp("stderr", dfi->alt_filename) != 0
index 40a7522..a8e2009 100644 (file)
@@ -1,3 +1,7 @@
+2013-09-04  Teresa Johnson  <tejohnson@google.com>
+
+       * gcc.dg/unroll_1.c: Test dumping to stderr.
+
 2013-09-04  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/58305
index a02825f..154c78e 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fdump-rtl-loop2_unroll -fno-peel-loops -fdisable-tree-cunroll -fdisable-tree-cunrolli -fenable-rtl-loop2_unroll" } */
+/* { dg-options "-O2 -fdump-rtl-loop2_unroll=stderr -fno-peel-loops -fdisable-tree-cunroll -fdisable-tree-cunrolli -fenable-rtl-loop2_unroll" } */
 
 unsigned a[100], b[100];
 inline void bar()
@@ -11,7 +11,7 @@ int foo(void)
 {
   int i;
   bar();
-  for (i = 0; i < 2; i++)
+  for (i = 0; i < 2; i++) /* { dg-message "note: loop turned into non-loop; it never loops" } */
   {
      a[i]= b[i] + 1;
   }
@@ -21,12 +21,10 @@ int foo(void)
 int foo2(void)
 {
   int i;
-  for (i = 0; i < 2; i++)
+  for (i = 0; i < 2; i++) /* { dg-message "note: loop turned into non-loop; it never loops" } */
   {
      a[i]= b[i] + 1;
   }
   return 1;
 }
-
-/* { dg-final { scan-rtl-dump-times "loop turned into non-loop; it never loops" 2 "loop2_unroll" } } */
-/* { dg-final { cleanup-rtl-dump "loop2_unroll" } } */
+/* { dg-prune-output ".*" } */