https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64921
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-02-16 Component|rtl-optimization |fortran Ever confirmed|0 |1 --- Comment #12 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- If I comment the line Deallocate (t) the test compiled with -fsanitize=address runs without error. This is also the case for the following variant Program main Implicit None Type :: t1 End Type Type, Extends (t1) :: t2 Integer, Allocatable :: i End Type Type, Extends (t2) :: t3 Integer, Allocatable :: j End Type Class (t1), Allocatable :: t Allocate (t3 :: t) if (allocated(t)) then print *,"allocated!" select type (t) type is (t1) print *, "type is t1" type is (t2) print *, "type is t2" type is (t3) print *, "type is t3" t%i = 42 t%j = 99 print *, t%i, t%j Deallocate (t%i, t%j) end select ! deallocate (t) else call abort () end if End which outputs at run time allocated! type is t3 42 99