[patch, fortran] PR 54833 Don't wrap calls to free(a) in if (a != NULL)

Andreas Schwab schwab@linux-m68k.org
Sat Oct 27 15:49:00 GMT 2012


Thomas Koenig <tkoenig@netcologne.de> writes:

>         PR fortran/54833
>         * trans.c (gfc_call_free):  Do not wrap the
>         call to __builtin_free in check for NULL.
>         (gfc_deallocate_with_status): For automatic deallocation without
>         status for non-coarrays, don't wrap call to __builtin_free in
>         check for NULL.

spawn /home/andreas/src/gcc/m68k/gcc/testsuite/gfortran/../../gfortran -B/home/andreas/src/gcc/m68k/gcc/testsuite/gfortran/../../ -B/home/andreas/src/gcc/m68k/m68k-linux/./libgfortran/ /home/andreas/src/gcc/gcc/gcc/testsuite/gfortran.dg/alloc_comp_assign_1.f90 -fno-diagnostics-show-caret -Os -pedantic-errors -B/home/andreas/src/gcc/m68k/m68k-linux/./libgfortran/.libs -L/home/andreas/src/gcc/m68k/m68k-linux/./libgfortran/.libs -L/home/andreas/src/gcc/m68k/m68k-linux/./libgfortran/.libs -lm -o ./alloc_comp_assign_1.exe
/home/andreas/src/gcc/gcc/gcc/testsuite/gfortran.dg/alloc_comp_assign_1.f90: In function 'main':
/home/andreas/src/gcc/gcc/gcc/testsuite/gfortran.dg/alloc_comp_assign_1.f90:57:0: internal compiler error: in cselib_record_set, at cselib.c:2379
0x1029ac87 cselib_record_set
	../../gcc/gcc/cselib.c:2379
0x1029ac87 cselib_record_sets
	../../gcc/gcc/cselib.c:2596
0x1029b417 cselib_process_insn(rtx_def*)
	../../gcc/gcc/cselib.c:2649
0x104ec9ab reload_cse_regs_1
	../../gcc/gcc/postreload.c:224
0x104ee1db reload_cse_regs
	../../gcc/gcc/postreload.c:70
0x104ee1db rest_of_handle_postreload
	../../gcc/gcc/postreload.c:2289
0x104ee1db rest_of_handle_postreload
	../../gcc/gcc/postreload.c:2283

Andreas.

-- 
Andreas Schwab, schwab@linux-m68k.org
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."



More information about the Fortran mailing list