]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
save-temps_0.c: New file.
authorCesar Philippidis <cesar@codesourcery.com>
Fri, 14 Mar 2014 09:33:15 +0000 (02:33 -0700)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 14 Mar 2014 09:33:15 +0000 (09:33 +0000)
2014-03-14  Cesar Philippidis  <cesar@codesourcery.com>

gcc/testsuite/
* gcc.dg/lto/save-temps_0.c: New file.
* lib/gcc-dg.exp (cleanup-saved-temps): Handle LTO temporaries.
* lib/lto.exp (lto-execute): Cleanup LTO temporaries.

From-SVN: r208563

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/lto/save-temps_0.c [new file with mode: 0644]
gcc/testsuite/lib/gcc-dg.exp
gcc/testsuite/lib/lto.exp

index 3df9dbb1ed13db3dfc78b592f26d075097ef07bd..0268eb697106d14c7d6c4477eb3a2defe3152fa9 100644 (file)
@@ -1,3 +1,9 @@
+2014-03-14  Cesar Philippidis  <cesar@codesourcery.com>
+
+       * lib/gcc-dg.exp (cleanup-saved-temps): Handle LTO temporaries.
+       * lib/lto.exp (lto-execute): Cleanup LTO temporaries.
+       * gcc.dg/lto/save-temps_0.c: New testcase.
+
 2014-03-13  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/36282
diff --git a/gcc/testsuite/gcc.dg/lto/save-temps_0.c b/gcc/testsuite/gcc.dg/lto/save-temps_0.c
new file mode 100644 (file)
index 0000000..8af1619
--- /dev/null
@@ -0,0 +1,9 @@
+/* { dg-lto-options {{ -O -flto -save-temps}} } */
+/* { dg-lto-do link } */
+
+int
+main (void)
+{
+  return 0;
+}
+
index 3b06ce45420d9adaedca26ceb3e23bb9860c2fce..59d394c340902ae8b99d2729aa4b4b930e510466 100644 (file)
@@ -600,7 +600,7 @@ proc cleanup-saved-temps { args } {
     set suffixes {}
 
     # add the to-be-kept suffixes
-    foreach suffix {".mii" ".ii" ".i" ".s" ".o" ".gkd"} {
+    foreach suffix {".mii" ".ii" ".i" ".s" ".o" ".gkd" ".res" ".ltrans.out"} {
        if {[lsearch $args $suffix] < 0} {
            lappend suffixes $suffix
        }
@@ -611,6 +611,8 @@ proc cleanup-saved-temps { args } {
     set testcase [lindex $testcase 0]
     foreach suffix $suffixes {
        remove-build-file "[file rootname [file tail $testcase]]$suffix"
+       remove-build-file "[file rootname [file tail $testcase]].exe$suffix"
+       remove-build-file "[file rootname [file tail $testcase]].exe.ltrans\[0-9\]*$suffix"
        # -fcompare-debug dumps
        remove-build-file "[file rootname [file tail $testcase]].gk$suffix"
     }
@@ -620,6 +622,9 @@ proc cleanup-saved-temps { args } {
        foreach srcfile $additional_sources {
            foreach suffix $suffixes {
                remove-build-file "[file rootname [file tail $srcfile]]$suffix"
+               remove-build-file "[file rootname [file tail $srcfile]].exe$suffix"
+               remove-build-file "[file rootname [file tail $srcfile]].exe.ltrans\[0-9\]*$suffix"
+
                # -fcompare-debug dumps
                remove-build-file "[file rootname [file tail $srcfile]].gk$suffix"
            }
index 23b1320bde4b29f46079d979117f16505e8b088d..997d5a38d109b65129ae0eb9bccacd3cb1b6c54e 100644 (file)
@@ -413,7 +413,8 @@ proc lto-execute { src1 sid } {
     global dg-suppress-ld-options
     global LTO_OPTIONS
     global dg-final-code
-
+    global testname_with_flags
+    
     # Get extra flags for this test from the primary source file, and
     # process other dg-* options that this suite supports.  Warn about
     # unsupported flags.
@@ -577,6 +578,22 @@ proc lto-execute { src1 sid } {
            }
        }
 
+       # Clean up after -save-temps.  The LTO tests don't use dg-test, so
+       # testname-for-summary needs to be defined explicitly for each
+       # file that needs to be removed.
+       set testname_with_flags $execname
+
+       eval "cleanup-saved-temps"
+
+       for {set i 0} {$i < $num_srcs} {incr i} {
+           set testname_with_flags "${base}_${i}"
+           eval "cleanup-saved-temps"
+           set testname_with_flags "${sid}_${base}_${i}"
+           eval "cleanup-saved-temps"
+       }
+       
+       unset testname_with_flags
+       
        if { ![string compare "run" $compile_type] \
             || ![string compare "link" $compile_type] } {
            file_on_host delete $execname