aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2009-10-10 18:57:35 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2009-10-10 18:57:35 +0000
commit4557df3c55697f5635ca8e6cf0f280480c956286 (patch)
tree84de6b4867b0947789b2f3f5265bdb9b07fdfdb2
parent47f67e51560a5cb55fa2720bcb56d0d29a53ca85 (diff)
downloadgcc-4557df3c55697f5635ca8e6cf0f280480c956286.zip
gcc-4557df3c55697f5635ca8e6cf0f280480c956286.tar.gz
gcc-4557df3c55697f5635ca8e6cf0f280480c956286.tar.bz2
re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
2009-10-10 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/35862 * gfortran.dg/round_2.f03: Eliminate possible compile error. From-SVN: r152627
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/round_2.f039
2 files changed, 8 insertions, 6 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 9f03e3b..ef847cd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,6 +1,11 @@
2009-10-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/35862
+ * gfortran.dg/round_2.f03: Eliminate possible compile error.
+
+2009-10-10 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR libgfortran/35862
* gfortran.dg/round_2.f03: Update test to also test for smaller kind.
Add conditions to avoid runtime errors if not supported.
diff --git a/gcc/testsuite/gfortran.dg/round_2.f03 b/gcc/testsuite/gfortran.dg/round_2.f03
index 6b5eae4..da14cec 100644
--- a/gcc/testsuite/gfortran.dg/round_2.f03
+++ b/gcc/testsuite/gfortran.dg/round_2.f03
@@ -1,10 +1,9 @@
! { dg-do run }
! PR35962 Implement F2003 rounding modes.
! Test case prepared by Jerry Delisle <jvdelisle@gcc.gnu.org>
-integer,parameter :: j = selected_real_kind (precision (0.0_4) + 1)
-integer,parameter :: k = selected_real_kind (precision (0.0_8) + 1)
+integer,parameter :: j = selected_real_kind (max(4,precision (0.0_4) + 1))
+integer,parameter :: k = selected_real_kind (max(4,precision (0.0_8) + 1))
character(64) :: line
-if (j.gt.0) then
write(line, '(RN, 4F10.3)') 0.0625_j, 0.1875_j
if (line.ne." 0.062 0.188") call abort
write(line, '(RN, 4F10.2)') 0.125_j, 0.375_j, 1.125_j, 1.375_j
@@ -13,8 +12,7 @@ if (j.gt.0) then
if (line.ne." 0.2 0.8 1.2 1.8") call abort
write(line, '(RN, 4F10.0)') 0.5_j, 1.5_j, 2.5_j, 3.5_j
if (line.ne." 0. 2. 2. 4.") call abort
-end if
-if (k.gt.0) then
+
write(line, '(RN, 4F10.3)') 0.0625_k, 0.1875_k
if (line.ne." 0.062 0.188") call abort
write(line, '(RN, 4F10.2)') 0.125_k, 0.375_k, 1.125_k, 1.375_k
@@ -23,5 +21,4 @@ if (k.gt.0) then
if (line.ne." 0.2 0.8 1.2 1.8") call abort
write(line, '(RN, 4F10.0)') 0.5_k, 1.5_k, 2.5_k, 3.5_k
if (line.ne." 0. 2. 2. 4.") call abort
-end if
end