https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122136

--- Comment #1 from anlauf at gcc dot gnu.org ---
For the record:

MALLOC_PERTURB_=3 valgrind --leak-check=full --track-origins=yes
/work/gnu/git/build-trunk/gcc/f951 -quiet -pedantic pdt_39.f03

This gives:

==25644== Invalid read of size 8
==25644==    at 0xFB9E7C: get_kind(bt, gfc_expr*, char const*, int)
(simplify.cc:133)
==25644==    by 0xFCC89E: gfc_simplify_real(gfc_expr*, gfc_expr*)
(simplify.cc:7547)
==25644==    by 0xEFBAC9: do_simplify(gfc_intrinsic_sym*, gfc_expr*)
(intrinsic.cc:4895)
==25644==    by 0xEFC702: gfc_intrinsic_func_interface(gfc_expr*, int)
(intrinsic.cc:5298)
==25644==    by 0xF8A143: resolve_unknown_f(gfc_expr*) (resolve.cc:3082)
==25644==    by 0xF8B0A6: resolve_function(gfc_expr*) (resolve.cc:3509)
==25644==    by 0xF963C3: gfc_resolve_expr(gfc_expr*) (resolve.cc:8154)
==25644==    by 0xE80317: resolve_array_list(splay_tree_s*) (array.cc:2210)
==25644==    by 0xE80971: gfc_resolve_array_constructor(gfc_expr*)
(array.cc:2388)
==25644==    by 0xF96499: gfc_resolve_expr(gfc_expr*) (resolve.cc:8186)
==25644==    by 0xE80317: resolve_array_list(splay_tree_s*) (array.cc:2210)
==25644==    by 0xE80971: gfc_resolve_array_constructor(gfc_expr*)
(array.cc:2388)
==25644==  Address 0x67fdb78 is 728 bytes inside a block of size 736 free'd
==25644==    at 0x523494B: free (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==25644==    by 0xECD411: gfc_free_ref_list(gfc_ref*) (expr.cc:681)
==25644==    by 0xECD12D: free_expr0(gfc_expr*) (expr.cc:571)
==25644==    by 0xECD446: gfc_replace_expr(gfc_expr*, gfc_expr*) (expr.cc:691)
==25644==    by 0xFB9E77: get_kind(bt, gfc_expr*, char const*, int)
(simplify.cc:139)
==25644==    by 0xFCC89E: gfc_simplify_real(gfc_expr*, gfc_expr*)
(simplify.cc:7547)
==25644==    by 0xEFBAC9: do_simplify(gfc_intrinsic_sym*, gfc_expr*)
(intrinsic.cc:4895)
==25644==    by 0xEFC702: gfc_intrinsic_func_interface(gfc_expr*, int)
(intrinsic.cc:5298)
==25644==    by 0xF8A143: resolve_unknown_f(gfc_expr*) (resolve.cc:3082)
==25644==    by 0xF8B0A6: resolve_function(gfc_expr*) (resolve.cc:3509)
==25644==    by 0xF963C3: gfc_resolve_expr(gfc_expr*) (resolve.cc:8154)
==25644==    by 0xE80317: resolve_array_list(splay_tree_s*) (array.cc:2210)
==25644==  Block was alloc'd at
==25644==    at 0x5238C31: calloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==25644==    by 0x3865E94: xcalloc (xmalloc.c:164)
==25644==    by 0xFDA12B: gfc_find_component(gfc_symbol*, char const*, bool,
bool, gfc_ref**) (symbol.cc:2647)
==25644==    by 0xF7DB0E: gfc_match_varspec(gfc_expr*, int, bool, bool)
(primary.cc:2672)
==25644==    by 0xF80D69: gfc_match_rvalue(gfc_expr**) (primary.cc:3929)
==25644==    by 0xF24612: match_primary (matchexp.cc:217)
==25644==    by 0xF24612: match_level_1 (matchexp.cc:267)
==25644==    by 0xF24612: match_mult_operand(gfc_expr**) (matchexp.cc:323)
==25644==    by 0xF248DC: match_add_operand(gfc_expr**) (matchexp.cc:412)
==25644==    by 0xF24BD9: match_level_2(gfc_expr**) (matchexp.cc:536)
==25644==    by 0xF24DBA: match_level_3(gfc_expr**) (matchexp.cc:607)
==25644==    by 0xF24F02: match_level_4 (matchexp.cc:655)
==25644==    by 0xF24F02: match_and_operand(gfc_expr**) (matchexp.cc:749)
==25644==    by 0xF250DA: match_or_operand(gfc_expr**) (matchexp.cc:778)
==25644==    by 0xF251EA: match_equiv_operand(gfc_expr**) (matchexp.cc:821)

Reply via email to