diff options
author | Janis Johnson <janis187@us.ibm.com> | 2006-06-06 19:16:14 +0000 |
---|---|---|
committer | Janis Johnson <janis@gcc.gnu.org> | 2006-06-06 19:16:14 +0000 |
commit | 6edf8a522985d30615ff15de817b1b47969dc5b9 (patch) | |
tree | 45442f6a4ad5c6f38ab726365822ad287450f197 | |
parent | 32845532e0af2d0aba90b5218feb2fdc47240bc6 (diff) | |
download | gcc-6edf8a522985d30615ff15de817b1b47969dc5b9.zip gcc-6edf8a522985d30615ff15de817b1b47969dc5b9.tar.gz gcc-6edf8a522985d30615ff15de817b1b47969dc5b9.tar.bz2 |
gcc-dg.exp (gcc-dg-test-1): Detect and report ICE.
* 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.
From-SVN: r114445
-rw-r--r-- | gcc/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/lib/fortran-torture.exp | 12 | ||||
-rw-r--r-- | gcc/testsuite/lib/gcc-defs.exp | 5 | ||||
-rw-r--r-- | gcc/testsuite/lib/gcc-dg.exp | 8 |
4 files changed, 32 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f4c04f1..dc457d1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 diff --git a/gcc/testsuite/lib/fortran-torture.exp b/gcc/testsuite/lib/fortran-torture.exp index b4e6194..1827115 100644 --- a/gcc/testsuite/lib/fortran-torture.exp +++ b/gcc/testsuite/lib/fortran-torture.exp @@ -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 { diff --git a/gcc/testsuite/lib/gcc-defs.exp b/gcc/testsuite/lib/gcc-defs.exp index 3b60200..e1e3b93 100644 --- a/gcc/testsuite/lib/gcc-defs.exp +++ b/gcc/testsuite/lib/gcc-defs.exp @@ -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" diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index e0640d8..d790396 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -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" |