From 5cbf2c71aace25db3a0c2b9727de135acea7877b Mon Sep 17 00:00:00 2001 From: Cesar Philippidis Date: Fri, 14 Mar 2014 02:33:15 -0700 Subject: save-temps_0.c: New file. 2014-03-14 Cesar Philippidis 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 | 6 ++++++ gcc/testsuite/gcc.dg/lto/save-temps_0.c | 9 +++++++++ gcc/testsuite/lib/gcc-dg.exp | 7 ++++++- gcc/testsuite/lib/lto.exp | 19 ++++++++++++++++++- 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/lto/save-temps_0.c (limited to 'gcc/testsuite') diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 3df9dbb..0268eb6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2014-03-14 Cesar Philippidis + + * 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 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 index 0000000..8af1619 --- /dev/null +++ b/gcc/testsuite/gcc.dg/lto/save-temps_0.c @@ -0,0 +1,9 @@ +/* { dg-lto-options {{ -O -flto -save-temps}} } */ +/* { dg-lto-do link } */ + +int +main (void) +{ + return 0; +} + diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index 3b06ce4..59d394c 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -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" } diff --git a/gcc/testsuite/lib/lto.exp b/gcc/testsuite/lib/lto.exp index 23b1320..997d5a3 100644 --- a/gcc/testsuite/lib/lto.exp +++ b/gcc/testsuite/lib/lto.exp @@ -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 -- cgit v1.1