This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/48776] ICE(segfault) after -std=f95 diagnostic error involving PROCEDURE
- From: "tkoenig at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 09 Aug 2016 21:08:32 +0000
- Subject: [Bug fortran/48776] ICE(segfault) after -std=f95 diagnostic error involving PROCEDURE
- Auto-submitted: auto-generated
- References: <bug-48776-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=48776
Thomas Koenig <tkoenig at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2013-06-16 00:00:00 |2016-8-9
CC| |tkoenig at gcc dot gnu.org
--- Comment #4 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
Still many invalid reads using valgrind:
Error: Fortran 2003: PROCEDURE statement at (1)
==13422== Invalid read of size 8
==13422== at 0x6B2540: gfc_sym_get_dummy_args(gfc_symbol*) (symbol.c:4662)
==13422== by 0x695632: resolve_fl_procedure (resolve.c:11449)
==13422== by 0x695632: resolve_symbol(gfc_symbol*) (resolve.c:13884)
==13422== by 0x6AC8DB: do_traverse_symtree(gfc_symtree*, void
(*)(gfc_symtree*), void (*)(gfc_symbol*)) (symbol.c:3646)
==13422== by 0x6971A2: resolve_types(gfc_namespace*) (resolve.c:15100)
==13422== by 0x692D4F: gfc_resolve(gfc_namespace*) [clone .part.48]
(resolve.c:15210)
==13422== by 0x67E4DA: resolve_all_program_units (parse.c:5415)
==13422== by 0x67E4DA: gfc_parse_file() (parse.c:5658)
==13422== by 0x6BDDC5: gfc_be_parse_file() (f95-lang.c:229)
==13422== by 0xA7C2A1: compile_file() (toplev.c:594)
==13422== by 0x6005B3: do_compile (toplev.c:2067)
==13422== by 0x6005B3: toplev::main(int, char**) (toplev.c:2165)
==13422== by 0x6012A9: main (main.c:39)
==13422== Address 0x5f10998 is 120 bytes inside a block of size 304 free'd
==13422== at 0x4C2A37C: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==13422== by 0x6B085A: gfc_restore_last_undo_checkpoint() (symbol.c:3177)
==13422== by 0x67431F: reject_statement() (parse.c:2358)
==13422== by 0x67457C: match_word(char const*, match (*)(), locus*) [clone
.part.5] (parse.c:99)
==13422== by 0x679756: match_word (parse.c:511)
==13422== by 0x679756: decode_statement() (parse.c:511)
==13422== by 0x679AE0: next_free (parse.c:1118)
==13422== by 0x679AE0: next_statement() (parse.c:1352)
==13422== by 0x67A834: parse_interface (parse.c:3044)
==13422== by 0x67A834: parse_spec(gfc_statement) (parse.c:3389)
==13422== by 0x67D008: parse_progunit(gfc_statement) (parse.c:5087)
==13422== by 0x67E1D5: gfc_parse_file() (parse.c:5604)
==13422== by 0x6BDDC5: gfc_be_parse_file() (f95-lang.c:229)
==13422== by 0xA7C2A1: compile_file() (toplev.c:594)
==13422== by 0x6005B3: do_compile (toplev.c:2067)
==13422== by 0x6005B3: toplev::main(int, char**) (toplev.c:2165)
...