------- Comment #9 from jvdelisle at gcc dot gnu dot org 2009-12-06 01:02 ------- OK we have a Heisenbug going on here.
Running from Valgrind like this: valgrind --leak-check=full f951 -pedantic <untitled.f ==14463== Memcheck, a memory error detector. ==14463== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. ==14463== Using LibVEX rev 1804, a library for dynamic binary translation. ==14463== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==14463== Using valgrind-3.3.0, a dynamic binary instrumentation framework. ==14463== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. ==14463== For more details, rerun with: -v ==14463== Warning: Reading file '<stdin>' as free form .file "<stdin>" :2.51: PARAMETER ( MY_STRING4 = (/ "A" , "B", "C" /) ) 1 Warning: Obsolescent feature: CHARACTER(*) function '__convert_s1_s4' at (1) ---- snip ---- ==14463== 316 bytes in 2 blocks are definitely lost in loss record 2 of 6 ==14463== at 0x4A05174: calloc (vg_replace_malloc.c:397) ==14463== by 0xCD3CA8: xcalloc (xmalloc.c:162) ==14463== by 0x629AF4: init_emit (emit-rtl.c:5565) ==14463== by 0x6C2CB7: prepare_function_start (function.c:4169) ==14463== by 0x6C2D58: init_function_start (function.c:4217) ==14463== by 0x53B5FD: trans_function_start (trans-decl.c:1925) ==14463== by 0x5423FE: gfc_generate_function_code (trans-decl.c:4272) ==14463== by 0x4EF4F3: gfc_parse_file (parse.c:4223) ==14463== by 0x52587C: gfc_be_parse_file (f95-lang.c:239) ==14463== by 0x81B205: toplev_main (toplev.c:1049) ==14463== by 0x3F6841E329: (below main) (libc-start.c:220) ==14463== ==14463== LEAK SUMMARY: ==14463== definitely lost: 316 bytes in 2 blocks. ==14463== possibly lost: 64 bytes in 2 blocks. ==14463== still reachable: 423,076 bytes in 1,336 blocks. ==14463== suppressed: 0 bytes in 0 blocks. ==14463== Reachable blocks (those to which a pointer was found) are not shown. ==14463== To see them, rerun with: --leak-check=full --show-reachable=yes -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36534