[Bug fortran/85581] New: implied DO not initializing array as expected
urbanjost at comcast dot net
gcc-bugzilla@gcc.gnu.org
Tue May 1 00:07:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85581
Bug ID: 85581
Summary: implied DO not initializing array as expected
Product: gcc
Version: 6.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: urbanjost at comcast dot net
Target Milestone: ---
I expect the two functions to be equivalent, but returnarrB acts like
(char(64+isize),I=1,isize) instead of (char(64+i),I=1,isize) was specified???
program uuidgen
implicit none
character(len=:),allocatable :: methods(:)
methods=[returnarrA(26),returnarrA(5)]
write(*,'(*("[",a,"]":,","))')methods
methods=[returnarrB(26),returnarrB(5)]
write(*,'(*("[",a,"]":,","))')methods
contains
function returnarrA(isize) result(arr)
integer,intent(in) :: isize
character(len=1),allocatable :: arr(:) !<== len=1
integer :: i
arr=[character(len=1) ::(char(64+i),i=1,isize)]
end function returnarrA
function returnarrB(isize) result(arr)
integer,intent(in) :: isize
character(len=:),allocatable :: arr(:) !<== len=:
integer :: i
arr=[character(len=1) ::(char(64+i),i=1,isize)]
end function returnarrB
end program uuidgen
Output
[A],[B],[C],[D],[E],[F],[G],[H],[I],[J],[K],[L],[M],[N],[O],[P],[Q],[R],[S],[T],[U],[V],[W],[X],[Y],[Z],[A],[B],[C],[D],[E]
[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[Z],[E],[E],[E],[E],[E]
Expecting returnarrA() and returnarrB() functions to return the same results.
That is, I expect
[A],[B],[C],[D],[E],[F],[G],[H],[I],[J],[K],[L],[M],[N],[O],[P],[Q],[R],[S],[T],[U],[V],[W],[X],[Y],[Z],[A],[B],[C],[D],[E]
[A],[B],[C],[D],[E],[F],[G],[H],[I],[J],[K],[L],[M],[N],[O],[P],[Q],[R],[S],[T],[U],[V],[W],[X],[Y],[Z],[A],[B],[C],[D],[E]
~
More information about the Gcc-bugs
mailing list