[Bug fortran/126479] STORAGE_SIZE doesn't work on disassociated pointers

"mikael at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126479

--- Comment #2 from Mikael Morin <mikael at gcc dot gnu.org> ---
Here is a variant with a function result:

program p
  implicit none
  type :: t1
    integer :: c1
  end type
  class(t1), pointer :: ptr(:)
  ptr => class_ptr()
  print *, storage_size(ptr)
contains
  function class_ptr()
    class(t1), pointer :: class_ptr(:)
    nullify(class_ptr)
  end function
end program

It gives a segmentation fault at execution time.

On pointer function results, f2023-15.6.2.2(Procedures defined by subprogram)
contains: 
    If the function result is a pointer, on return the pointer association
    status of the function result shall not be undefined.

So it doesn't forbid disassociated pointer results.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.