summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/boz_14.f90
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/gfortran.dg/boz_14.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/boz_14.f9019
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/boz_14.f90 b/gcc/testsuite/gfortran.dg/boz_14.f90
new file mode 100644
index 000000000..1e571780e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/boz_14.f90
@@ -0,0 +1,19 @@
+! { dg-do run }
+! { dg-add-options ieee }
+
+! PR fortran/36214
+! For BOZ-initialization of floats, the precision used to be wrong sometimes.
+
+ implicit none
+ real(4) r
+ real(8) rd
+ complex(8) z
+ rd = &
+ real (b'00000000000000000000000000000000&
+ &01000000001010010101001111111101',8)
+ z = &
+ cmplx(b'00000000000000000000000000000000&
+ &01000000001010010101001111111101',0,8)
+ r = 0.
+ if (z /= rd) call abort
+ end