This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, Fortran] PR 51758 - fix ICE with null() in elemental procedures
- From: Tobias Burnus <burnus at net-b dot de>
- To: Mikael Morin <mikael dot morin at sfr dot fr>
- Cc: gcc patches <gcc-patches at gcc dot gnu dot org>, gfortran <fortran at gcc dot gnu dot org>
- Date: Mon, 09 Jan 2012 15:45:23 +0100
- Subject: Re: [Patch, Fortran] PR 51758 - fix ICE with null() in elemental procedures
- References: <4F0AC0AE.3040005@net-b.de> <4F0AFB01.4020204@sfr.fr>
On 01/09/2012 03:34 PM, Mikael Morin wrote:
The issue is that the code handling NULL() doesn't consume the gfc_ss
struct created for it. Your fix, which advances to the next one anyway
would work just well, but I think it is slightly cleaner to not create
the struct in the first place, as it is unused.
I'm currently regtesting the following patch. The testcase is the same
as your. OK for 4.7/4.6?
OK.
For the test case, either take mine or don't forget to enable all "if()
abort"s and to change in the last "! print *,a" the "a" into a "b".
+ if (!arg->expr
+ || arg->expr->expr_type == EXPR_NULL)
continue;
(I'd prefer to have no line break before the "||".)
Tobias