backport: getarg_1.x: New file.

Backport from mainline:

	2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gfortran.fortran-torture/execute/getarg_1.x: New file.

	2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gfortran.dg/vect/pr39318.f90: Guard with "target fopenmp".

	2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gfortran.dg/chmod_1.f90: Disable on spu-*-* targets.
	* gfortran.dg/chmod_2.f90: Likewise.
	* gfortran.dg/chmod_3.f90: Likewise.
	* gfortran.dg/open_errors.f90: Likewise.
	* gfortran.dg/stat_1.f90: Likewise.
	* gfortran.dg/stat_2.f90: Likewise.

	2009-04-17  Ulrich Weigand  <Ulrich.Weigand@de.ibm.com>

	* gfortran.fortran-torture/execute/nan_inf_fmt.x: Skip on spu-*-*.
	* gfortran.fortran-torture/execute/intrinsic_nearest.x: Likewise.
	* gfortran.fortran-torture/execute/intrinsic_set_exponent.x: Likewise.
	* gfortran.dg/nearest_1.f90: Likewise.
	* gfortran.dg/nearest_3.f90: Likewise.
	* gfortran.dg/isnan_1.f90: Likewise.
	* gfortran.dg/isnan_2.f90: Likewise.
	* gfortran.dg/nan_1.f90: Likewise.
	* gfortran.dg/nan_2.f90: Likewise.
	* gfortran.dg/nan_3.f90: Likewise.
	* gfortran.dg/nan_4.f90: Likewise.
	* gfortran.dg/module_nan.f90: Likewise.
	* gfortran.dg/int_conv_2.f90: Likewise.
	* gfortran.dg/init_flag_3.f90: Likewise.
	* gfortran.dg/namelist_42.f90: Likewise.
	* gfortran.dg/namelist_43.f90: Likewise.
	* gfortran.dg/real_const_3.f90: Likewise.
	* gfortran.dg/transfer_simplify_1.f90: Likewise.

	* gfortran.dg/default_format_1.f90: XFAIL on spu-*-*.
	* gfortran.dg/default_format_denormal_1.f90: XFAIL on spu-*-*.
	* gfortran.dg/scalar_mask_2.f90: XFAIL on spu-*-*.
	* gfortran.dg/integer_exponentiation_3.F90: XFAIL on spu-*-*.
	* gfortran.dg/integer_exponentiation_5.F90: XFAIL on spu-*-*.

	* gfortran.dg/elemental_subroutine_1.f90: Relax "epsilon" check.
	* gfortran.dg/gamma_5.f90: Likewise.

	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.

From-SVN: r146571
This commit is contained in:
Ulrich Weigand 2009-04-22 11:35:25 +00:00 committed by Ulrich Weigand
parent 3a8291bb41
commit 319f60c90c
38 changed files with 127 additions and 15 deletions

View File

@ -1,3 +1,67 @@
2009-04-12 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
Backport from mainline:
2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gfortran.fortran-torture/execute/getarg_1.x: New file.
2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gfortran.dg/vect/pr39318.f90: Guard with "target fopenmp".
2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gfortran.dg/chmod_1.f90: Disable on spu-*-* targets.
* gfortran.dg/chmod_2.f90: Likewise.
* gfortran.dg/chmod_3.f90: Likewise.
* gfortran.dg/open_errors.f90: Likewise.
* gfortran.dg/stat_1.f90: Likewise.
* gfortran.dg/stat_2.f90: Likewise.
2009-04-17 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* gfortran.fortran-torture/execute/nan_inf_fmt.x: Skip on spu-*-*.
* gfortran.fortran-torture/execute/intrinsic_nearest.x: Likewise.
* gfortran.fortran-torture/execute/intrinsic_set_exponent.x: Likewise.
* gfortran.dg/nearest_1.f90: Likewise.
* gfortran.dg/nearest_3.f90: Likewise.
* gfortran.dg/isnan_1.f90: Likewise.
* gfortran.dg/isnan_2.f90: Likewise.
* gfortran.dg/nan_1.f90: Likewise.
* gfortran.dg/nan_2.f90: Likewise.
* gfortran.dg/nan_3.f90: Likewise.
* gfortran.dg/nan_4.f90: Likewise.
* gfortran.dg/module_nan.f90: Likewise.
* gfortran.dg/int_conv_2.f90: Likewise.
* gfortran.dg/init_flag_3.f90: Likewise.
* gfortran.dg/namelist_42.f90: Likewise.
* gfortran.dg/namelist_43.f90: Likewise.
* gfortran.dg/real_const_3.f90: Likewise.
* gfortran.dg/transfer_simplify_1.f90: Likewise.
* gfortran.dg/default_format_1.f90: XFAIL on spu-*-*.
* gfortran.dg/default_format_denormal_1.f90: XFAIL on spu-*-*.
* gfortran.dg/scalar_mask_2.f90: XFAIL on spu-*-*.
* gfortran.dg/integer_exponentiation_3.F90: XFAIL on spu-*-*.
* gfortran.dg/integer_exponentiation_5.F90: XFAIL on spu-*-*.
* gfortran.dg/elemental_subroutine_1.f90: Relax "epsilon" check.
* gfortran.dg/gamma_5.f90: Likewise.
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-21 Release Manager
* GCC 4.4.0 released.

View File

@ -1,4 +1,4 @@
! { dg-do run { target { ! *-*-mingw* } } }
! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
! { dg-options "-std=gnu" }
implicit none
character(len=*), parameter :: n = "foobar_file"

View File

@ -1,4 +1,4 @@
! { dg-do run { target { ! *-*-mingw* } } }
! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
! { dg-options "-std=gnu" }
implicit none
character(len=*), parameter :: n = "foobar_file"

View File

@ -1,4 +1,4 @@
! { dg-do run { target { ! *-*-mingw* } } }
! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
! { dg-options "-std=gnu -fdefault-integer-8" }
implicit none
character(len=*), parameter :: n = "foobar_file"

View File

@ -1,4 +1,4 @@
! { dg-do run }
! { dg-do run { xfail spu-*-* } }
! Test XFAILed on Darwin because the system's printf() lacks
! proper support for denormals.
!

View File

@ -1,4 +1,4 @@
! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* } }
! { dg-do run { xfail alpha*-*-* *-*-darwin[89]* *-*-freebsd* *-*-mingw* spu-*-* } }
! Test XFAILed on these platforms because the system's printf() lacks
! proper support for denormals.
!

View File

@ -48,7 +48,7 @@ end module pr22146
! Test an expression in the INTENT(IN) argument
x = (/1.0, 2.0/)
call foobar (cos (x) + u, y)
if (any(abs (y + cos (x) + u) .gt. 2.0e-6)) call abort ()
if (any(abs (y + cos (x) + u) .gt. 4.0e-6)) call abort ()
contains

View File

@ -21,7 +21,7 @@ program main
xd = n + 0.5d0
td = c(n)*sqrt(pi)
ts = c(n)*sqrt(pi)
if (abs(gamma(xs)-ts)/ts > 3e-6) call abort
if (abs(gamma(xs)-ts)/ts > 9e-6) call abort
if (abs(gamma(xd)-td)/td > 5e-14) call abort
end do
call tst_s(2.3, gamma(2.3))

View File

@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-finit-integer=-1 -finit-logical=false -finit-real=nan" }
! { dg-options "-finit-integer=-1 -finit-logical=false -finit-real=nan -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
program init_flag_3
call real_test

View File

@ -1,4 +1,5 @@
! { dg-do compile }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
! PR fortran/37930
program test
implicit none

View File

@ -1,4 +1,5 @@
! { dg-do run }
! { dg-do run { xfail spu-*-* } }
! FAILs on SPU because of wrong compile-time rounding mode
! { dg-options "" }
module mod_check
implicit none

View File

@ -1,4 +1,5 @@
! { dg-do run }
! { dg-do run { xfail spu-*-* } }
! FAILs on SPU because of invalid result of 1.0/0.0 inline code
! { dg-options "-fno-range-check" }
! { dg-options "-fno-range-check -mieee" { target alpha*-*-* } } */
module mod_check

View File

@ -2,6 +2,7 @@
!
! { dg-do run }
! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
implicit none
real :: x

View File

@ -3,6 +3,7 @@
! { dg-do run }
! { dg-options "-fno-range-check" }
! { dg-options "-fno-range-check -pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
implicit none
character(len=1) :: s

View File

@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-fno-range-check" }
! { dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34318
!

View File

@ -1,5 +1,6 @@
! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34427
!

View File

@ -1,5 +1,6 @@
! { dg-do run { target fd_truncate } }
! { dg-options "-mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34427
!

View File

@ -3,6 +3,7 @@
!
! { dg-do run }
! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
module aux2
interface isnan

View File

@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-fno-range-check -pedantic" }
! { dg-options "-fno-range-check -pedantic -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34333
!

View File

@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-fno-range-check" }
! { dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34319
!

View File

@ -1,6 +1,7 @@
! { dg-do compile }
! { dg-options "-std=gnu" }
! { dg-options "-std=gnu -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34398.
!

View File

@ -1,6 +1,7 @@
! { dg-do run }
! { dg-options "-O0 -ffloat-store" }
! { dg-options "-O0 -ffloat-store -mieee" { target alpha*-*-* } }
! { dg-skip-if "Denormals not supported" { spu-*-* } { "*" } { "" } }
! PR fortran/27021
! Original code submitted by Dominique d'Humieres
! Converted to Dejagnu for the testsuite by Steven G. Kargl

View File

@ -1,5 +1,6 @@
! { dg-do run }
! { dg-options "-pedantic-errors -mieee" { target alpha*-*-* sh*-*-* } }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
!
! PR fortran/34209
!

View File

@ -1,4 +1,4 @@
! { dg-do run { target { ! *-*-mingw* } } }
! { dg-do run { target { ! { *-*-mingw* spu-*-* } } } }
! PR30005 Enhanced error messages for OPEN
! Submitted by Jerry DeLisle <jvdelisle@gcc.gnu.org>
character(60) :: msg

View File

@ -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)

View File

@ -1,6 +1,7 @@
!{ dg-do run }
!{ dg-options "-fno-range-check" }
!{ dg-options "-fno-range-check -mieee" { target alpha*-*-* sh*-*-* } }
!{ dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
! PR19310 and PR19904, allow disabling range check during compile.
! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
program main

View File

@ -1,4 +1,5 @@
! { dg-do run }
! { dg-do run { xfail spu-*-* } }
! FAILs on SPU because of rounding error reading kinds.h
program main
! Test scalar masks for different intrinsics.
real, dimension(2,2) :: a

View File

@ -1,5 +1,5 @@
! { dg-do run { target fd_truncate } }
! { dg-skip-if "" { *-*-mingw* } { "*" } { "" } }
! { dg-skip-if "" { *-*-mingw* spu-*-* } { "*" } { "" } }
! { dg-options "-std=gnu" }
character(len=*), parameter :: f = "testfile"
integer :: s1(13), r1, s2(13), r2, s3(13), r3

View File

@ -1,5 +1,5 @@
! { dg-do run { target fd_truncate } }
! { dg-skip-if "" { *-*-mingw* } { "*" } { "" } }
! { dg-skip-if "" { *-*-mingw* spu-*-* } { "*" } { "" } }
! { dg-options "-std=gnu" }
character(len=*), parameter :: f = "testfile"
integer :: s1(13), r1, s2(13), r2, s3(13), r3

View File

@ -1,5 +1,6 @@
! { dg-do run }
! { dg-options "-O2" }
! { dg-skip-if "NaN not supported" { spu-*-* } { "*" } { "" } }
! Tests that the PRs caused by the lack of gfc_simplify_transfer are
! now fixed. These were brought together in the meta-bug PR31237
! (TRANSFER intrinsic).

View File

@ -1,4 +1,4 @@
! { dg-do compile }
! { dg-do compile { target fopenmp } }
! { dg-options "-c -fopenmp -fexceptions -O2 -ftree-vectorize" }
subroutine adw_trajsp (F_u,i0,in,j0,jn)

View File

@ -0,0 +1,5 @@
if [istarget "spu-*-*"] {
# We need -mstdmain to enable argument processing on SPU.
lappend additional_flags "-mstdmain"
}
return 0

View File

@ -1,2 +1,6 @@
if [istarget "spu-*-*"] {
# No Inf/NaN support on SPU.
return 1
}
add-ieee-options
return 0

View File

@ -1,2 +1,6 @@
if [istarget "spu-*-*"] {
# No denormal support on SPU.
return 1
}
add-ieee-options
return 0

View File

@ -1,2 +1,6 @@
if [istarget "spu-*-*"] {
# No Inf/NaN support on SPU.
return 1
}
add-ieee-options
return 0

View File

@ -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 ""
}

View File

@ -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"
}

View File

@ -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