This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
*PING* Re: [Patch, Fortran] PR57697/58469 - Fix another defined-assignment issue
- From: Tobias Burnus <burnus at net-b dot de>
- To: gcc patches <gcc-patches at gcc dot gnu dot org>, gfortran <fortran at gcc dot gnu dot org>
- Date: Wed, 25 Sep 2013 20:58:55 +0200
- Subject: *PING* Re: [Patch, Fortran] PR57697/58469 - Fix another defined-assignment issue
- Authentication-results: sourceware.org; auth=none
- References: <523B4C60 dot 5050607 at net-b dot de>
* PING * http://gcc.gnu.org/ml/fortran/2013-09/msg00039.html
Additionally pinging for:
http://gcc.gnu.org/ml/fortran/2013-09/msg00031.html
On September 19, 2013 21:11, Tobias Burnus wrote:
This patch fixes two issues:
a) It could happen that no code change has happened. In that case, the
one freed an expression which still should be used.
b) In my previous patch, I used a pointer assignment to the temporary
of the LHS (after its allocation) [only if the LHS was initially
unassigned]. That lead to a problem with double deallocation
(temporary + LHS). In the previous test case, it didn't matter as the
LHS wasn't freed (implicit SAVE of in the main program). That's now
solved by a NULL-pointer assignment.
Finally, I corrected some indenting issues and removed unreachable code.
Build and regtested on x86-64-gnu-linux.
OK for the trunk and the 4.8 branch?
Tobias
PS: For the testcase of (a), I am not quite sure whether the intrinsic
assignment should invoke the defined assignment. It currently doesn't
for gfortran and crayftn. In any case, the invalid freeing is wrong.