aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry DeLisle <jvdelisle@gcc.gnu.org>2015-03-17 01:22:12 +0000
committerJerry DeLisle <jvdelisle@gcc.gnu.org>2015-03-17 01:22:12 +0000
commit448c7e25258690336857663669ae85fba4e229d6 (patch)
tree6c812b13fab59f7b7942df192837b0921582aa71
parentd4b35ef74c433ebdfe3ee6eec561b50ef5a92a69 (diff)
downloadgcc-448c7e25258690336857663669ae85fba4e229d6.zip
gcc-448c7e25258690336857663669ae85fba4e229d6.tar.gz
gcc-448c7e25258690336857663669ae85fba4e229d6.tar.bz2
re PR fortran/64432 (SYSTEM_CLOCK(COUNT_RATE=rate) wrong result for integer(4)::rate)
2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/64432 * gfortran.dg/system_clock_3.f08: New test. From-SVN: r221473
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/system_clock_3.f0822
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index c8c54c7..3e6beb2 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2015-03-16 Jerry DeLisle <jvdelisle@gcc.gnu.org>
+
+ PR fortran/64432
+ * gfortran.dg/system_clock_3.f08: New test.
+
2015-03-16 Edward Smith-Rowland <3dw4rd@verizon.net>
PR c++/64626
diff --git a/gcc/testsuite/gfortran.dg/system_clock_3.f08 b/gcc/testsuite/gfortran.dg/system_clock_3.f08
new file mode 100644
index 0000000..195bdc4
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/system_clock_3.f08
@@ -0,0 +1,22 @@
+! { dg-do run }
+! PR64432
+program countem
+ implicit none
+ integer(1) :: count1, irate1, mymax1
+ integer(2) :: count2, irate2, mymax2
+ integer(4) :: count4, irate4, mymax4
+ real(4) :: rrate4
+
+ call system_clock(count=count1, count_rate=irate4, count_max=mymax4)
+ if (count1.ne.-127.and.irate4.ne.0.and.mymax4.ne.0) call abort
+ call system_clock(count=count1, count_rate=rrate4, count_max=mymax1)
+ if (count1.ne.-127.and.rrate4.ne.0.0.and.mymax4.ne.0) call abort
+ call system_clock(count=count2, count_rate=irate2, count_max=mymax2)
+ if (count2.ne.-32767.and.irate2.ne.0.and.mymax2.ne.0) call abort
+ call system_clock(count=count2, count_rate=rrate4, count_max=mymax2)
+ if (count2.ne.-32767.and.rrate4.ne.0.0.and.mymax2.ne.0) call abort
+ call system_clock(count=count4, count_rate=irate4, count_max=mymax4)
+ if (rrate4.ne.1000.and.mymax4.ne.huge(0_4)) call abort
+ call system_clock(count=count4, count_rate=rrate4, count_max=mymax4)
+ if (rrate4.ne.1000.0.and.mymax4.ne.huge(0_4)) call abort
+end program countem