------- Comment #4 from hjl dot tools at gmail dot com 2010-06-18 22:14 ------- On x86, I got
valgrind --tool=memcheck ../f951 /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/gfortran.dg/typebound_proc_15.f03 -quiet -dumpbase typebound_proc_15.f03 -mtune=generic -march=pentium4 -auxbase typebound_proc_15 -std=f2003 -version -o typebound_proc_15.s -fintrinsic-modules-path finclude ==22636== Memcheck, a memory error detector ==22636== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al. ==22636== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info ==22636== Command: ../f951 /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/gfortran.dg/typebound_proc_15.f03 -quiet -dumpbase typebound_proc_15.f03 -mtune=generic -march=pentium4 -auxbase typebound_proc_15 -std=f2003 -version -o typebound_proc_15.s -fintrinsic-modules-path finclude ==22636== GNU Fortran (GCC) version 4.6.0 20100618 (experimental) [trunk revision 161010] (i686-pc-linux-gnu) compiled by GNU C version 4.6.0 20100618 (experimental) [trunk revision 161010], GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 GNU Fortran (GCC) version 4.6.0 20100618 (experimental) [trunk revision 161010] (i686-pc-linux-gnu) compiled by GNU C version 4.6.0 20100618 (experimental) [trunk revision 161010], GMP version 4.3.2, MPFR version 2.4.2-p3, MPC version 0.8.1 GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 /export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/gfortran.dg/typebound_proc_15.f03:15.23: procedure :: bar, baz { dg-error "PROCEDURE list" } 1 Error: Fortran 2008: PROCEDURE list at (1) ==22636== Invalid read of size 4 ==22636== at 0x80DCE5B: add_proc_component.isra.0 (class.c:223) ==22636== by 0x80DD18F: add_procs_to_declared_vtab1 (class.c:251) ==22636== by 0x80DDDFD: add_procs_to_declared_vtab (class.c:386) ==22636== by 0x80DDC28: gfc_find_derived_vtab (class.c:626) ==22636== by 0x4147067: ??? ==22636== Address 0x4143d7c is 20 bytes inside a block of size 24 free'd ==22636== at 0x40057F6: free (vg_replace_malloc.c:325) ==22636== by 0x815AD42: gfc_delete_symtree (symbol.c:2376) ==22636== by 0x815BCCC: gfc_undo_symbols (symbol.c:2843) ==22636== by 0x812AE6F: reject_statement (parse.c:1647) ==22636== by 0x812AED0: match_word (parse.c:70) ==22636== by 0x812BC3E: decode_statement (parse.c:423) ==22636== by 0x812CA7C: next_statement (parse.c:723) ==22636== by 0x812E17C: parse_spec (parse.c:1870) ==22636== by 0x8130969: gfc_parse_file (parse.c:4114) ==22636== ==22636== Invalid read of size 1 ==22636== at 0x8145CEA: resolve_fl_derived (resolve.c:10789) ==22636== by 0x81440CE: resolve_symbol (resolve.c:11403) ==22636== Address 0x4143c38 is 48 bytes inside a block of size 300 free'd ==22636== at 0x40057F6: free (vg_replace_malloc.c:325) ==22636== by 0x815BE37: gfc_undo_symbols (symbol.c:2849) ==22636== by 0x812AE6F: reject_statement (parse.c:1647) ==22636== by 0x812AED0: match_word (parse.c:70) ==22636== by 0x812BC3E: decode_statement (parse.c:423) ==22636== by 0x812CA7C: next_statement (parse.c:723) ==22636== by 0x812E17C: parse_spec (parse.c:1870) ==22636== by 0x8130969: gfc_parse_file (parse.c:4114) ==22636== ==22636== Invalid read of size 1 ==22636== at 0x8145CFA: resolve_fl_derived (resolve.c:10795) ==22636== by 0x81440CE: resolve_symbol (resolve.c:11403) ==22636== Address 0x4143c3d is 53 bytes inside a block of size 300 free'd ==22636== at 0x40057F6: free (vg_replace_malloc.c:325) ==22636== by 0x815BE37: gfc_undo_symbols (symbol.c:2849) ==22636== by 0x812AE6F: reject_statement (parse.c:1647) ==22636== by 0x812AED0: match_word (parse.c:70) ==22636== by 0x812BC3E: decode_statement (parse.c:423) ==22636== by 0x812CA7C: next_statement (parse.c:723) ==22636== by 0x812E17C: parse_spec (parse.c:1870) ==22636== by 0x8130969: gfc_parse_file (parse.c:4114) ==22636== ==22636== Invalid read of size 1 ==22636== at 0x81461E0: resolve_fl_derived (resolve.c:10796) ==22636== by 0x81440CE: resolve_symbol (resolve.c:11403) ==22636== Address 0x4143c34 is 44 bytes inside a block of size 300 free'd ==22636== at 0x40057F6: free (vg_replace_malloc.c:325) ==22636== by 0x815BE37: gfc_undo_symbols (symbol.c:2849) ==22636== by 0x812AE6F: reject_statement (parse.c:1647) ==22636== by 0x812AED0: match_word (parse.c:70) ==22636== by 0x812BC3E: decode_statement (parse.c:423) ==22636== by 0x812CA7C: next_statement (parse.c:723) ==22636== by 0x812E17C: parse_spec (parse.c:1870) ==22636== by 0x8130969: gfc_parse_file (parse.c:4114) ==22636== ==22636== Invalid read of size 4 ==22636== at 0x81461EA: resolve_fl_derived (resolve.c:10853) ==22636== by 0x81440CE: resolve_symbol (resolve.c:11403) ==22636== Address 0x4143c08 is 0 bytes inside a block of size 300 free'd ==22636== at 0x40057F6: free (vg_replace_malloc.c:325) ==22636== by 0x815BE37: gfc_undo_symbols (symbol.c:2849) ==22636== by 0x812AE6F: reject_statement (parse.c:1647) ==22636== by 0x812AED0: match_word (parse.c:70) ==22636== by 0x812BC3E: decode_statement (parse.c:423) ==22636== by 0x812CA7C: next_statement (parse.c:723) ==22636== by 0x812E17C: parse_spec (parse.c:1870) ==22636== by 0x8130969: gfc_parse_file (parse.c:4114) ==22636== ==22636== ==22636== HEAP SUMMARY: ==22636== in use at exit: 223,317 bytes in 1,049 blocks ==22636== total heap usage: 2,220 allocs, 1,171 frees, 503,832 bytes allocated ==22636== ==22636== LEAK SUMMARY: ==22636== definitely lost: 2,064 bytes in 6 blocks ==22636== indirectly lost: 4,280 bytes in 43 blocks ==22636== possibly lost: 16,080 bytes in 4 blocks ==22636== still reachable: 200,893 bytes in 996 blocks ==22636== suppressed: 0 bytes in 0 blocks ==22636== Rerun with --leak-check=full to see details of leaked memory ==22636== ==22636== For counts of detected and suppressed errors, rerun with: -v ==22636== ERROR SUMMARY: 5 errors from 5 contexts (suppressed: 30 from 8) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44584