diff options
| author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-17 10:38:48 +0000 |
|---|---|---|
| committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-04-17 10:38:48 +0000 |
| commit | 332c35520556cf91d36cbc97fdf5fc86c47f31c7 (patch) | |
| tree | 3d97ada16e4bf2fee9038838746610a8750b266f | |
| parent | 3443eac11878221a7c639e6238f31c7907797797 (diff) | |
| download | ppe42-gcc-332c35520556cf91d36cbc97fdf5fc86c47f31c7.tar.gz ppe42-gcc-332c35520556cf91d36cbc97fdf5fc86c47f31c7.zip | |
* lib/gcc-dg.exp (gcc-dg-prune): Make linker message check
less strict so it also works with auto-overlay support.
* lib/gcc-defs.exp (${tool}_check_unsupported_p): Add check
for "exceeds local store" linker errors on the SPU.
* lib/gfortran.exp: Include target-supports.exp.
(gfortran_init): On SPU targets where automatic overlay support
is available, use it to build all Fortran test cases.
* gfortran.dg/pr20257.f90: Skip on spu-*-* targets.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@146242 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/testsuite/ChangeLog | 13 | ||||
| -rw-r--r-- | gcc/testsuite/gfortran.dg/pr20257.f90 | 1 | ||||
| -rw-r--r-- | gcc/testsuite/lib/gcc-defs.exp | 4 | ||||
| -rw-r--r-- | gcc/testsuite/lib/gcc-dg.exp | 2 | ||||
| -rw-r--r-- | gcc/testsuite/lib/gfortran.exp | 8 |
5 files changed, 27 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b264523aadc..e0a0afdb34f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,16 @@ +2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> + + * lib/gcc-dg.exp (gcc-dg-prune): Make linker message check + less strict so it also works with auto-overlay support. + * lib/gcc-defs.exp (${tool}_check_unsupported_p): Add check + for "exceeds local store" linker errors on the SPU. + + * lib/gfortran.exp: Include target-supports.exp. + (gfortran_init): On SPU targets where automatic overlay support + is available, use it to build all Fortran test cases. + + * gfortran.dg/pr20257.f90: Skip on spu-*-* targets. + 2009-04-17 Arnaud Charlet <charlet@adacore.com> * gnat.dg/ref_type.ads, gnat.dg/ref_type.adb: Fix test after proper diff --git a/gcc/testsuite/gfortran.dg/pr20257.f90 b/gcc/testsuite/gfortran.dg/pr20257.f90 index ca5a00bf882..77c885f48fc 100644 --- a/gcc/testsuite/gfortran.dg/pr20257.f90 +++ b/gcc/testsuite/gfortran.dg/pr20257.f90 @@ -1,4 +1,5 @@ ! { dg-do run { target fd_truncate } } +! { dg-skip-if "Too big for local store" { spu-*-* } { "*" } { "" } } integer,parameter :: n = 10000 real(8) array(10000) diff --git a/gcc/testsuite/lib/gcc-defs.exp b/gcc/testsuite/lib/gcc-defs.exp index 7bcbcabc087..53926a69a23 100644 --- a/gcc/testsuite/lib/gcc-defs.exp +++ b/gcc/testsuite/lib/gcc-defs.exp @@ -155,6 +155,10 @@ proc ${tool}_check_unsupported_p { output } { if [regexp "(^|\n)\[^\n\]*: region \[^\n\]* is full" $output] { return "memory full" } + if {[istarget spu-*-*] && \ + [string match "*exceeds local store*" $output]} { + return "memory full" + } return "" } diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp index 1944e83febc..7d00acf6d1a 100644 --- a/gcc/testsuite/lib/gcc-dg.exp +++ b/gcc/testsuite/lib/gcc-dg.exp @@ -186,7 +186,7 @@ proc gcc-dg-prune { system text } { # Likewise, if we see ".text exceeds local store range" or # similar. if {[string match "spu-*" $system] && \ - [string match "*exceeds local store range*" $text]} { + [string match "*exceeds local store*" $text]} { # The format here is important. See dg.exp. return "::unsupported::memory full" } diff --git a/gcc/testsuite/lib/gfortran.exp b/gcc/testsuite/lib/gfortran.exp index d001f657fbc..a4d6e2b5d38 100644 --- a/gcc/testsuite/lib/gfortran.exp +++ b/gcc/testsuite/lib/gfortran.exp @@ -27,6 +27,7 @@ load_lib prune.exp load_lib gcc-defs.exp load_lib timeout.exp load_lib target-libpath.exp +load_lib target-supports.exp # # GFORTRAN_UNDER_TEST is the compiler under test. @@ -177,6 +178,13 @@ proc gfortran_init { args } { lappend ALWAYS_GFORTRANFLAGS "additional_flags=$TOOL_OPTIONS" } + # On the SPU, most of the fortran test cases exceed local store size. + # Use automatic overlay support to make them fit. + if { [check_effective_target_spu_auto_overlay] } { + lappend ALWAYS_GFORTRANFLAGS "ldflags=-Wl,--auto-overlay" + lappend ALWAYS_GFORTRANFLAGS "ldflags=-Wl,--reserved-space=131072" + } + verbose -log "ALWAYS_GFORTRANFLAGS set to $ALWAYS_GFORTRANFLAGS" verbose "gfortran is initialized" 3 |

