------- Comment #7 from dfranke at gcc dot gnu dot org 2010-05-19 16:29 ------- Not related to types - this is more about namespace cleanup. Reduced testcase:
PROGRAM Main USE, INTRINSIC :: iso_c_binding CALL C_F_POINTER(rws, xrws) XXX ! any error will do END PROGRAM Main SUBROUTINE F() END SUBROUTINE F valgrind: ==24940== Invalid read of size 4 ==24940== at 0x8173957: gfc_delete_symtree (symbol.c:2374) ==24940== by 0x4131BD5: (below main) (libc-start.c:226) ==24940== Address 0x4308fc8 is 0 bytes inside a block of size 1,692 free'd ==24940== at 0x4024B3A: free (vg_replace_malloc.c:366) ==24940== by 0x812A3F5: gfc_free (misc.c:51) ==24940== by 0x4131BD5: (below main) (libc-start.c:226) gdb: Program received signal SIGSEGV, Segmentation fault. 0x081739b2 in gfc_find_symtree (st=0x2e1, name=0xb7eece00 "shape") at /home/daniel/svn/gcc-svn/gcc/fortran/symbol.c:2393 2393 c = strcmp (name, st->name); (gdb) bt #0 0x081739b2 in gfc_find_symtree (st=0x2e1, name=0xb7eece00 "shape") at /home/daniel/svn/gcc-svn/gcc/fortran/symbol.c:2393 #1 0x08173969 in gfc_delete_symtree (root=0x8c54760, name=0xb7eece00 "shape") at /home/daniel/svn/gcc-svn/gcc/fortran/symbol.c:2374 #2 0x08174473 in gfc_undo_symbols () at /home/daniel/svn/gcc-svn/gcc/fortran/symbol.c:2845 #3 0x081385ff in decode_statement () at /home/daniel/svn/gcc-svn/gcc/fortran/parse.c:271 #4 0x0813a0e9 in next_free () at /home/daniel/svn/gcc-svn/gcc/fortran/parse.c:722 #5 0x0813a4d2 in next_statement () at /home/daniel/svn/gcc-svn/gcc/fortran/parse.c:907 #6 0x0813e6a6 in gfc_parse_file () at /home/daniel/svn/gcc-svn/gcc/fortran/parse.c:4220 #7 0x0817cbba in gfc_be_parse_file (set_yydebug=0) at /home/daniel/svn/gcc-svn/gcc/fortran/f95-lang.c:239 #8 0x084cfe1b in compile_file () at /home/daniel/svn/gcc-svn/gcc/toplev.c:1049 #9 0x084d1ed8 in do_compile () at /home/daniel/svn/gcc-svn/gcc/toplev.c:2393 #10 0x084d1f9e in toplev_main (argc=2, argv=0xbffff3c4) at /home/daniel/svn/gcc-svn/gcc/toplev.c:2435 #11 0x0820961b in main (argc=2, argv=0xbffff3c4) at /home/daniel/svn/gcc-svn/gcc/main.c:35 -- dfranke at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail|4.3.2 4.3.3 4.3.4 4.4.0 |4.3.4 4.4.0 4.5.1 4.6.0 Summary|ICE-on-invalid with |ICE-on-invalid with |ISO_C_BINDING and TYPEs |ISO_C_BINDING http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37744