We don't compile to RTL or machine instructions for lean LTO objects,
so the scan-assembler tests force -ffat-lto-objects to be used instead.
This patch extends that to scan-rtl-dump*.

Tested on mips64-linux-gnu, where it fixes an UNRESOLVED on
gcc.target/mips/octeon2-pipe-1.c.  OK to install?

Thanks,
Richard


gcc/testsuite/
        * lib/target-supports.exp (force_conventional_output_for): New
        procedure.
        * lib/scanasm.exp (scan-assembler_required_options)
        (scan-assembler-not_required_options)
        (scan-assembler-times_required_options): Replace with
        force_conventional_output_fors.
        * lib/scanrtl.exp: Force conventional output for all rtl dump scans.
        * gcc.target/mips/octeon-pipe-1.c: Remove -ffat-lto-objects.

Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp       2014-01-19 10:17:01.078710840 
+0000
+++ gcc/testsuite/lib/target-supports.exp       2014-01-19 10:17:01.196711753 
+0000
@@ -5664,3 +5664,17 @@ proc check_effective_target_fenv_excepti
        }
     } "-std=gnu99"]
 }
+
+# Record that dg-final test TEST requires convential compilation.
+
+proc force_conventional_output_for { test } {
+    if { [info proc $test] == "" } {
+       perror "$test does not exist"
+       exit 1
+    }
+    proc ${test}_required_options {} {
+       global gcc_force_conventional_output
+       return $gcc_force_conventional_output
+    }
+}
+
Index: gcc/testsuite/lib/scanasm.exp
===================================================================
--- gcc/testsuite/lib/scanasm.exp       2014-01-19 10:17:01.076710824 +0000
+++ gcc/testsuite/lib/scanasm.exp       2014-01-19 10:17:01.195711745 +0000
@@ -82,10 +82,7 @@ proc scan-assembler { args } {
     dg-scan "scan-assembler" 1 $testcase $output_file $args
 }
 
-proc scan-assembler_required_options { args } {
-    global gcc_force_conventional_output
-    return $gcc_force_conventional_output
-}
+force_conventional_output_for scan-assembler
 
 # Check that a pattern is not present in the .s file produced by the
 # compiler.  See dg-scan for details.
@@ -97,10 +94,7 @@ proc scan-assembler-not { args } {
     dg-scan "scan-assembler-not" 0 $testcase $output_file $args
 }
 
-proc scan-assembler-not_required_options { args } {
-    global gcc_force_conventional_output
-    return $gcc_force_conventional_output
-}
+force_conventional_output_for scan-assembler-not
 
 # Return the scan for the assembly for hidden visibility. 
 
@@ -259,10 +253,7 @@ proc scan-assembler-times { args } {
     }
 }
 
-proc scan-assembler-times_required_options { args } {
-    global gcc_force_conventional_output
-    return $gcc_force_conventional_output
-}
+force_conventional_output_for scan-assembler-times
 
 # Utility for scanning demangled compiler result, invoked via dg-final.
 # Call pass if pattern is present, otherwise fail.
Index: gcc/testsuite/lib/scanrtl.exp
===================================================================
--- gcc/testsuite/lib/scanrtl.exp       2014-01-19 10:17:01.076710824 +0000
+++ gcc/testsuite/lib/scanrtl.exp       2014-01-19 10:17:01.195711745 +0000
@@ -42,6 +42,8 @@ proc scan-rtl-dump { args } {
     }
 }
 
+force_conventional_output_for scan-rtl-dump
+
 # Call pass if pattern is present given number of times, otherwise fail.
 # Argument 0 is the regexp to match
 # Argument 1 is number of times the regexp must be found
@@ -66,6 +68,8 @@ proc scan-rtl-dump-times { args } {
     }
 }
 
+force_conventional_output_for scan-rtl-dump-times
+
 # Call pass if pattern is not present, otherwise fail.
 #
 # Argument 0 is the regexp to match
@@ -90,6 +94,8 @@ proc scan-rtl-dump-not { args } {
     }
 }
 
+force_conventional_output_for scan-rtl-dump-not
+
 # Utility for scanning demangled compiler result, invoked via dg-final.
 # Call pass if pattern is present, otherwise fail.
 #
@@ -115,6 +121,8 @@ proc scan-rtl-dump-dem { args } {
     }
 }
 
+force_conventional_output_for scan-rtl-dump-dem
+
 # Call pass if demangled pattern is not present, otherwise fail.
 #
 # Argument 0 is the regexp to match
@@ -139,3 +147,5 @@ proc scan-rtl-dump-dem-not { args } {
                          "\[0-9\]\[0-9\]\[0-9\]r.[lindex $args 1]"
     }
 }
+
+force_conventional_output_for scan-rtl-dump-dem-not
Index: gcc/testsuite/gcc.target/mips/octeon-pipe-1.c
===================================================================
--- gcc/testsuite/gcc.target/mips/octeon-pipe-1.c       2014-01-19 
10:17:01.076710824 +0000
+++ gcc/testsuite/gcc.target/mips/octeon-pipe-1.c       2014-01-19 
10:17:01.194711738 +0000
@@ -1,6 +1,6 @@
 /* Check that we use the octeon pipeline description.  */
 /* { dg-do compile } */
-/* { dg-options "-march=octeon -fschedule-insns2 -fdump-rtl-sched2 
-ffat-lto-objects" } */
+/* { dg-options "-march=octeon -fschedule-insns2 -fdump-rtl-sched2" } */
 /* { dg-skip-if "code quality test" { *-*-* } { "-O0" } { "" } } */
 
 NOMIPS16 int f (int a, int b)

Reply via email to