diff options
author | Tobias Burnus <burnus@net-b.de> | 2010-07-24 09:47:43 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2010-07-24 09:47:43 +0200 |
commit | 100fded17a471de03d3fe02f66d7d2a36da51bab (patch) | |
tree | 12a47a6893c6269c8138dd0a7847ddb174aa154e /gcc | |
parent | 5d7f4d9c8b2f59093e4d4661089a3f9d28002c61 (diff) | |
download | gcc-100fded17a471de03d3fe02f66d7d2a36da51bab.zip gcc-100fded17a471de03d3fe02f66d7d2a36da51bab.tar.gz gcc-100fded17a471de03d3fe02f66d7d2a36da51bab.tar.bz2 |
entry_13.f90: Use abs() > eps instead of "/=".
2010-07-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/entry_13.f90: Use abs() > eps instead of "/=".
* gfortran.dg/integer_exponentiation_3.F90: Use -ffloat-store.
Missed files from previous commit:
* gfortran.dg/func_decl_5.f90: New.
* gfortran.dg/intrinsic_std_6.f90: New.
From-SVN: r162498
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/entry_13.f90 | 8 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/func_decl_5.f90 | 15 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/intrinsic_std_6.f90 | 41 |
5 files changed, 69 insertions, 5 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 32d2017..a43aee9 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2010-07-24 Tobias Burnus <burnus@net-b.de> + * gfortran.dg/entry_13.f90: Use abs() > eps instead of "/=". + * gfortran.dg/integer_exponentiation_3.F90: Use -ffloat-store. + +2010-07-24 Tobias Burnus <burnus@net-b.de> + * gfortran.dg/func_decl_4.f90: Split test into two ... * gfortran.dg/func_decl_5.f90: ... parts. * gfortran.dg/common_resize_1.f: xfail two warnings (cf. PR 45045). diff --git a/gcc/testsuite/gfortran.dg/entry_13.f90 b/gcc/testsuite/gfortran.dg/entry_13.f90 index 2d2aeda..3a45fc5 100644 --- a/gcc/testsuite/gfortran.dg/entry_13.f90 +++ b/gcc/testsuite/gfortran.dg/entry_13.f90 @@ -67,14 +67,14 @@ program test type(z) z1 z1 = x1//y1 - if (z1%x .ne. 19.0_4 + 7.0_4) call abort () + if (abs(z1%x - (19.0_4 + 7.0_4)) > epsilon(x1%x)) call abort () z1 = y1//x1 - if (z1%x .ne. 19.0_4 - 7.0_4) call abort () + if (abs(z1%x - (19.0_4 - 7.0_4)) > epsilon(x1%x)) call abort () z1 = x1==y1 - if (z1%x .ne. 19.0_4/7.0_4) call abort () + if (abs(z1%x - 19.0_4/7.0_4) > epsilon(x1%x)) call abort () z1 = y1==x1 - if (z1%x .ne. 19.0_4/7.0_4) call abort () + if (abs(z1%x - 19.0_4/7.0_4) > epsilon(x1%x)) call abort () end program test ! { dg-final { cleanup-modules "type_mod" } } diff --git a/gcc/testsuite/gfortran.dg/func_decl_5.f90 b/gcc/testsuite/gfortran.dg/func_decl_5.f90 new file mode 100644 index 0000000..9cd4735 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/func_decl_5.f90 @@ -0,0 +1,15 @@ +! { dg-do compile } +! { dg-options "-c" } +! +! Functions shall not have an initializer. +! +! Some tests were moved from func_decl_4.f90 to here. +! + +function f1() ! { dg-error "cannot have an initializer" } + integer :: f1 = 42 +end function + +function f2() RESULT (r) ! { dg-error "cannot have an initializer" } + integer :: r = 42 +end function diff --git a/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 b/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 index e5c4052..9277b7a 100644 --- a/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 +++ b/gcc/testsuite/gfortran.dg/integer_exponentiation_3.F90 @@ -1,6 +1,9 @@ ! { dg-do run { xfail spu-*-* } } ! FAILs on SPU because of wrong compile-time rounding mode -! { dg-options "" } +! { dg-options "-ffloat-store" } +! +! -ffloat-store needed for x87 +! module mod_check implicit none diff --git a/gcc/testsuite/gfortran.dg/intrinsic_std_6.f90 b/gcc/testsuite/gfortran.dg/intrinsic_std_6.f90 new file mode 100644 index 0000000..6b2eee4 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/intrinsic_std_6.f90 @@ -0,0 +1,41 @@ +! { dg-do compile } +! { dg-options "-std=f95 -Wintrinsics-std -fdump-tree-original" } + +! +! See intrinsic_std_1.f90 for more compile-time checks +! + +! PR fortran/33141 +! Check for the expected behaviour when an intrinsic function/subroutine is +! called that is not available in the defined standard or that is a GNU +! extension: +! There should be a warning emitted on the call, and the reference should be +! treated like an external call. +! For declaring a non-standard intrinsic INTRINSIC, a hard error should be +! generated, of course. + +SUBROUTINE no_implicit + IMPLICIT NONE + REAL :: asinh ! { dg-warning "Fortran 2008" } + + ! abort is a GNU extension + CALL abort () ! { dg-warning "extension" } + + ! ASINH is an intrinsic of F2008 + ! The warning should be issued in the declaration above where it is declared + ! EXTERNAL. + WRITE (*,*) ASINH (1.) ! { dg-warning "Fortran 2008" } +END SUBROUTINE no_implicit + +SUBROUTINE implicit_type + ! acosh has implicit type + + WRITE (*,*) ACOSH (1.) ! { dg-warning "Fortran 2008" } + WRITE (*,*) ACOSH (1.) ! { dg-bogus "Fortran 2008" } +END SUBROUTINE implicit_type + +! Scan that really external functions are called. +! { dg-final { scan-tree-dump " abort " "original" } } +! { dg-final { scan-tree-dump " asinh " "original" } } +! { dg-final { scan-tree-dump " acosh " "original" } } +! { dg-final { cleanup-tree-dump "original" } } |