OSDN Git Service

* lib/gcc-dg.exp (gcc-dg-test-1): Detect and report ICE.
authorjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Jun 2006 19:16:14 +0000 (19:16 +0000)
committerjanis <janis@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 6 Jun 2006 19:16:14 +0000 (19:16 +0000)
* lib/gcc-defs.exp (tool_check_compile): Ditto.
* lib/fortran-torture.exp (fortran-torture-compile,
fortran-torture-execute): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114445 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/lib/fortran-torture.exp
gcc/testsuite/lib/gcc-defs.exp
gcc/testsuite/lib/gcc-dg.exp

index f4c04f1..dc457d1 100644 (file)
@@ -1,3 +1,10 @@
+2006-06-06  Janis Johnson  <janis187@us.ibm.com>
+
+       * lib/gcc-dg.exp (gcc-dg-test-1): Detect and report ICE.
+       * lib/gcc-defs.exp (tool_check_compile): Ditto.
+       * lib/fortran-torture.exp (fortran-torture-compile,
+       fortran-torture-execute): Ditto.
+
 2006-06-06  Ulrich Weigand  <uweigand@de.ibm.com>
 
        PR target/27842
index b4e6194..1827115 100644 (file)
@@ -87,6 +87,12 @@ proc fortran-torture-compile { src option } {
        return
     }
 
+    if [string match "*internal compiler error*" $comp_output] then {
+       gfortran_fail $testcase "$option (internal compiler error)"
+       catch { remote_file build delete $output }
+       return
+    }
+
     # We shouldn't get these because of -w, but just in case.
     if [string match "*95*:*warning:*" $comp_output] then {
        warning "$testcase: (with warnings) $option"
@@ -204,6 +210,12 @@ proc fortran-torture-execute { src } {
            catch { remote_file build delete $executable }
            continue
        }
+
+       if [string match "*internal compiler error*" $comp_output] then {
+           gfortran_fail $testcase "$option (internal compiler error)"
+           catch { remote_file build delete $executable }
+           continue
+       }
        
        # We shouldn't get these because of -w, but just in case.
        if [string match "*95*:*warning:*" $comp_output] then {
index 3b60200..e1e3b93 100644 (file)
@@ -34,6 +34,11 @@ proc ${tool}_check_compile {testcase option objname gcc_output} {
        return 0
     }
 
+    if [string match "*internal compiler error*" $gcc_output] then {
+       ${tool}_fail $testcase "$option (internal compiler error)"
+       return 0
+    }
+
     # We shouldn't get these because of -w, but just in case.
     if [string match "*cc:*warning:*" $gcc_output] then {
        warning "$testcase: (with warnings) $option"
index e0640d8..d790396 100644 (file)
@@ -139,6 +139,14 @@ proc gcc-dg-test-1 { target_compile prog do_what extra_tool_flags } {
 
     set comp_output [$target_compile "$prog" "$output_file" "$compile_type" $options]
 
+    # Look for an internal compiler error, which sometimes masks the fact
+    # that we didn't get an expected error message.  An ICE always fails,
+    # there's no way to XFAIL it.
+    if [string match "*internal compiler error*" $comp_output] {
+       upvar 2 name name
+       fail "$name (internal compiler error)"
+    }
+
     if { $do_what == "repo" } {
        set object_file "$output_file"
        set output_file "[file rootname [file tail $prog]].exe"