http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48699
--- Comment #12 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-05-21 23:32:58 UTC --- The patch in comment #11 fixes the runtime for the tests in comments #0 and #9. However the other tests give a backtrace on x86_64-apple-darwin10. and valgrind reports errors of the kind ==27268== Invalid read of size 8 ==27268== at 0x100000D48: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== Address 0x100442470 is 0 bytes inside a block of size 96 free'd ==27268== at 0x10001146F: free (vg_replace_malloc.c:366) ==27268== by 0x100000D34: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== ==27268== Invalid write of size 8 ==27268== at 0x100000D69: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== Address 0x100442470 is 0 bytes inside a block of size 96 free'd ==27268== at 0x10001146F: free (vg_replace_malloc.c:366) ==27268== by 0x100000D34: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== ==27268== Invalid read of size 8 ==27268== at 0x100000D77: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== Address 0x1004424a0 is 48 bytes inside a block of size 96 free'd ==27268== at 0x10001146F: free (vg_replace_malloc.c:366) ==27268== by 0x100000D34: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== ==27268== Invalid write of size 8 ==27268== at 0x100000D9A: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== Address 0x1004424a0 is 48 bytes inside a block of size 96 free'd ==27268== at 0x10001146F: free (vg_replace_malloc.c:366) ==27268== by 0x100000D34: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== ==27268== Invalid free() / delete / delete[] ==27268== at 0x10001146F: free (vg_replace_malloc.c:366) ==27268== by 0x100000DB0: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) ==27268== Address 0x100442470 is 0 bytes inside a block of size 96 free'd ==27268== at 0x10001146F: free (vg_replace_malloc.c:366) ==27268== by 0x100000D34: MAIN__ (pr48699_1.f90:16) ==27268== by 0x100000DE8: main (pr48699_1.f90:16) for the test in comment #4.