[Bug fortran/86325] New: Error on valid code with pointer class components using -finit-derived
foreese at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jun 26 16:25:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86325
Bug ID: 86325
Summary: Error on valid code with pointer class components
using -finit-derived
Product: gcc
Version: 7.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: foreese at gcc dot gnu.org
Target Milestone: ---
gfortran reports an error for valid code which uses class pointer components
when compiling with -finit-derived:
$ cat init_flag_19.f03
implicit none
type :: ty1
integer :: ival
real :: rval
end type
type :: ty2
type(ty1) :: bt
type(ty1), allocatable :: bt_alloc
type(ty1), pointer :: bt_ptr
class(ty1), allocatable :: class_alloc
class(ty1), pointer :: class_ptr
end type
type(ty2) basic
class(ty1), allocatable :: calloc
print *, basic%bt%ival
print *, calloc%ival
end
$ gfortran -finit-derived init_flag_19.f03
init_flag_19.f03:9:11:
type :: ty1
1
Error: Pointer assignment target is neither TARGET nor POINTER at (1)
init_flag_19.f03:19:38:
class(ty1), pointer :: class_ptr
1
Error: Pointer assignment target is neither TARGET nor POINTER at (1)
init_flag_19.f03:9:11:
type :: ty1
1
Error: The element in the structure constructor at (1), for pointer component
‘bt_ptr’ should be a POINTER or a TARGET
init_flag_19.f03:9:11:
type :: ty1
1
Error: Pointer initialization target at (1) must have the SAVE attribute
The issue is present from the introduction of -finit-derived in 7.1 through 8.x
and trunk.
More information about the Gcc-bugs
mailing list