[Bug fortran/93423] [8/9/10/11 Regression] ICE on invalid with argument list for module procedure
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Tue Jul 7 14:05:28 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93423
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |marxin at gcc dot gnu.org
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
I still see the ICE on current master:
$ valgrind --trace-children=yes ./xgcc -B.
/home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/pr93423.f90
...
19 | module procedure bp(s) ! { dg-error "must be in a generic module
interface" }
| 1
Error: MODULE PROCEDURE at (1) must be in a generic module interface
/home/marxin/Programming/gcc/gcc/testsuite/gfortran.dg/pr93423.f90:20:5:
20 | end procedure bp ! { dg-error "Expecting END SUBMODULE
statement" }
| 1
Error: Expecting END SUBMODULE statement at (1)
==11355== Invalid read of size 1
==11355== at 0xBE9F24: gfc_resolve_formal_arglist(gfc_symbol*)
(resolve.c:309)
==11355== by 0xBED263: find_arglists(gfc_symbol*) (resolve.c:550)
==11355== by 0xD1B1D7: do_traverse_symtree(gfc_symtree*, void
(*)(gfc_symtree*), void (*)(gfc_symbol*)) (symbol.c:4170)
==11355== by 0xD1B3E8: gfc_traverse_ns(gfc_namespace*, void
(*)(gfc_symbol*)) (symbol.c:4195)
==11355== by 0xBED28C: resolve_formal_arglists(gfc_namespace*)
(resolve.c:563)
==11355== by 0xBF4F03: resolve_contained_functions(gfc_namespace*)
(resolve.c:1129)
==11355== by 0xCA1D84: resolve_types(gfc_namespace*) (resolve.c:17189)
==11355== by 0xCA2CD1: gfc_resolve(gfc_namespace*) (resolve.c:17315)
==11355== by 0xBCE864: gfc_parse_file() (parse.c:6448)
==11355== by 0xD422D0: gfc_be_parse_file() (f95-lang.c:212)
==11355== by 0x25C632F: compile_file() (toplev.c:458)
==11355== by 0x25CF248: do_compile() (toplev.c:2307)
==11355== Address 0xaa52924 is 84 bytes inside a block of size 344 free'd
==11355== at 0x96A49AB: free (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11355== by 0xD13F0A: gfc_free_symbol(gfc_symbol*) (symbol.c:3098)
==11355== by 0xD14370: gfc_release_symbol(gfc_symbol*) (symbol.c:3125)
==11355== by 0xD19A34: free_sym_tree(gfc_symtree*) (symbol.c:3902)
==11355== by 0xD1A37E: gfc_free_namespace(gfc_namespace*) (symbol.c:4041)
==11355== by 0xD141E9: gfc_release_symbol(gfc_symbol*) (symbol.c:3117)
==11355== by 0xD19A34: free_sym_tree(gfc_symtree*) (symbol.c:3902)
==11355== by 0xD1A37E: gfc_free_namespace(gfc_namespace*) (symbol.c:4041)
==11355== by 0xBCAA2B: parse_contained(int) (parse.c:5799)
==11355== by 0xBCC76F: parse_module() (parse.c:6126)
==11355== by 0xBCE790: gfc_parse_file() (parse.c:6429)
==11355== by 0xD422D0: gfc_be_parse_file() (f95-lang.c:212)
==11355== Block was alloc'd at
==11355== at 0x96A5B65: calloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==11355== by 0x50E323A: xcalloc (xmalloc.c:162)
==11355== by 0xD1439C: gfc_new_symbol(char const*, gfc_namespace*)
(symbol.c:3136)
==11355== by 0xB5484B: load_needed(pointer_info*) (module.c:5035)
==11355== by 0xB5447C: load_needed(pointer_info*) (module.c:5004)
==11355== by 0xB5447C: load_needed(pointer_info*) (module.c:5004)
==11355== by 0xB54427: load_needed(pointer_info*) (module.c:5003)
==11355== by 0xB5447C: load_needed(pointer_info*) (module.c:5004)
==11355== by 0xB57A23: read_module() (module.c:5489)
==11355== by 0xB67008: gfc_use_module(gfc_use_list*) (module.c:7198)
==11355== by 0xB680A6: gfc_use_modules() (module.c:7322)
==11355== by 0xBB1C1C: use_modules() (parse.c:114)
More information about the Gcc-bugs
mailing list