From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30569 invoked by alias); 19 May 2010 16:30:05 -0000 Received: (qmail 30430 invoked by uid 48); 19 May 2010 16:29:40 -0000 Date: Wed, 19 May 2010 16:30:00 -0000 Message-ID: <20100519162940.30428.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug fortran/37744] ICE-on-invalid with ISO_C_BINDING In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dfranke at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2010-05/txt/msg02088.txt.bz2 ------- 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