[Bug fortran/56261] [OOP] seg fault call procedure pointer on polymorphic array

abensonca at gmail dot com gcc-bugzilla@gcc.gnu.org
Sat Feb 9 16:51:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56261

--- Comment #8 from Andrew Benson <abensonca at gmail dot com> 2013-02-09 16:50:54 UTC ---
On the test case in comment 2, ifort v11.1 reports:

> ifort -o bug.exe bug.F90 
bug.F90(23): error #6592: This symbol must be a defined parameter, an
enumerator, or an argument of an inquiry function that evaluates to a
compile-time constant.   [FF]
  procedure(  ), pointer                   :: f => ff
---------------------------------------------------^
bug.F90(23): error #6973: This is not a valid initialization expression.   [FF]
  procedure(  ), pointer                   :: f => ff
---------------------------------------------------^
compilation aborted for bug.F90 (code 1)

Same for the scalar case.

Interestingly, the workaround doesn't work under ifort - it seems not to like:

  procedure(ff), pointer :: f => ff

but instead needs:

  procedure(ff), pointer :: f
  f => ff

In fact, if I use:

  procedure(), pointer :: f
  f => ff

then it compiles without any warnings/errors but segfaults at runtime.

With:


  procedure(ff), pointer :: f
  f => ff

it compiles and runs as expected.



More information about the Gcc-bugs mailing list