------- Comment #2 from burnus at gcc dot gnu dot org 2009-05-06 14:39 ------- Regarding the segfault, valgrind shows:
==14376== Invalid read of size 1 ==14376== by 0x616A4F7: fprintf (in /lib64/libc-2.9.so) ==14376== by 0x4B4BF1: show_typebound (dump-parse-tree.c:693) The line is: fprintf (dumpfile, "PASS(%s)", st->n.tb->pass_arg); and the interesting question is: Why is it called? There are no type-bound procedures (and also no components [except of t2%t]. Thus why is if (!st->n.tb) return; not working? * * * Related problem: The following gives: show_code_node(): Bad statement code type t procedure(), nopass, pointer :: p end type t type(t) m !external bar !m%p => bar call m%p() end -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40045