[Bug fortran/89033] New: gfortran accepts invalid code in select type construct with pointer assignment
mscfd at gmx dot net
gcc-bugzilla@gcc.gnu.org
Thu Jan 24 10:43:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89033
Bug ID: 89033
Summary: gfortran accepts invalid code in select type construct
with pointer assignment
Product: gcc
Version: 9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: mscfd at gmx dot net
Target Milestone: ---
The code below should be invalid, as the selector x has attribute "target" but
not "pointer" inside the select type block (2008 draft, 8.1.3.3). The code
compiles, but it gives a suprising output, namely x is still associated,
despite the accepted "x => null()" line.
program select_type_ptr
implicit none
type t
integer :: i = 1
end type t
class(*), pointer :: x
type(t), pointer :: y
allocate(x, source = t(3))
select type (x)
type is (t)
y => x
x => null()
end select
print *, associated(x), associated(y)
print *, y%i
end program select_type_ptr
More information about the Gcc-bugs
mailing list