diff options
Diffstat (limited to 'gcc/testsuite/gfortran.dg/fmt_int_sign.f90')
-rw-r--r-- | gcc/testsuite/gfortran.dg/fmt_int_sign.f90 | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/fmt_int_sign.f90 b/gcc/testsuite/gfortran.dg/fmt_int_sign.f90 new file mode 100644 index 000000000..2257fd829 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/fmt_int_sign.f90 @@ -0,0 +1,16 @@ +! { dg-do run } +! { dg-options -fno-range-check } +! PR38504 double minus sign when printing integer +! Test case derived from example by Jos de Kloe +program IntAdtest + + integer, parameter :: i8_ = Selected_Int_Kind(18) ! = integer*8 + character(len=22) :: str_value + integer(i8_) :: value + character(len=*), parameter :: format_IntAd = "(i22)" + + value = -9223372036854775807_i8_ -1 + write(str_value, format_IntAd) value + if (str_value.ne." -9223372036854775808") call abort + +end program IntAdtest |