[Bug fortran/86167] New: allocation variable length character array in derived type incorrect
simon.kluepfel at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Jun 15 14:31:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86167
Bug ID: 86167
Summary: allocation variable length character array in derived
type incorrect
Product: gcc
Version: 8.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: simon.kluepfel at gmail dot com
Target Milestone: ---
Created attachment 44285
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44285&action=edit
main.f03
Allocation of a member of the form
type a
character(len=:),dimension(:),allocatable :: a1
end type a
is not handled correctly.
---8<---
program main
implicit none
type a
character(len=:),dimension(:),allocatable :: a1
end type a
character(len=:),dimension(:),allocatable :: a1,a2
type(a) :: ta
type(a) :: tb
allocate(character(len=2) :: a1(2))
allocate(a2,source=a1)
allocate(character(len=2) :: ta%a1(2))
allocate(tb%a1,source=a2)
write(*,*) size(a1),len(a1),len(a1(1))
write(*,*) size(a2),len(a2),len(a1(1))
write(*,*) size(ta%a1),len(ta%a1),len(ta%a1(1))
write(*,*) size(tb%a1),len(tb%a1),len(tb%a1(1))
end program main
---8<---
$ ./a.out
2 2 2
2 2 2
2 0 2
2 0 2
the last two lines should be all 2's
gcc version 8.1.0 (Debian 8.1.0-5)
More information about the Gcc-bugs
mailing list