re PR libfortran/89274 (Inconsistent list directed output of INTEGER(16))

2019-02-25  Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR libfortran/89274
	* gfortran.dg/list_directed_large.f90: New test. 

2019-02-25  Dominique d'Humieres  <dominiq@gcc.gnu.org>

	PR libfortran/89274
	* io/write.c (write_integer): Add width for INTEGER(16).

From-SVN: r269187
This commit is contained in:
Dominique d'Humieres 2019-02-25 11:39:38 +01:00
parent 5c56124837
commit b8f412849b
4 changed files with 30 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2019-02-25 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR libfortran/89274
* gfortran.dg/list_directed_large.f90: New test.
2019-02-25 Jakub Jelinek <jakub@redhat.com>
PR target/89434

View File

@ -0,0 +1,16 @@
! { dg-do run }
! { dg-require-effective-target fortran_large_int }
! PR libfortran/89274 Inconsistent list directed output of INTEGER(16)
!
integer(16) :: j(2)
character(82) :: str
j = huge(1_16)
write(str,*) j
if (str /= " 170141183460469231731687303715884105727 170141183460469231731687303715884105727") stop 1
j = 1
write(str,*) j
if (str /= " 1 1") stop 2
j = -huge(1_16)
write(str,*) j
if (str /= " -170141183460469231731687303715884105727 -170141183460469231731687303715884105727") stop 3
end

View File

@ -1,3 +1,8 @@
2019-02-25 Dominique d'Humieres <dominiq@gcc.gnu.org>
PR libfortran/89274
* io/write.c (write_integer): Add width for INTEGER(16).
2019-02-23 Paul Thomas <pault@gcc.gnu.org>
PR fortran/89385

View File

@ -1342,6 +1342,10 @@ write_integer (st_parameter_dt *dtp, const char *source, int kind)
width = 20;
break;
case 16:
width = 40;
break;
default:
width = 0;
break;