* Ping [Patch, fortran] PR79402 - ICE with submodules: module procedure interface defined in parent module
@ 2017-02-11 16:13 Paul Richard Thomas
2017-02-19 18:44 ` Paul Richard Thomas
0 siblings, 1 reply; 3+ messages in thread
From: Paul Richard Thomas @ 2017-02-11 16:13 UTC (permalink / raw)
To: fortran, gcc-patches; +Cc: Chris Coutinho, jdelia, Stefano Zaghi
Ping!
On 8 February 2017 at 16:00, Paul Richard Thomas
<paul.richard.thomas@gmail.com> wrote:
> Dear All,
>
> The attached rework of the patch functions in the same way as
> yesterday's but is based in resolve.c rather than trans-decl.c. It
> looks to me to be by far cleaner.
>
> Bootstraps and regtests on FC23/x86_64 - OK for trunk?
>
> Cheers
>
> Paul
>
> 2017-02-08 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/79344
> * resolve.c (fixup_unique_dummy): New function.
> (gfc_resolve_expr): Call it for dummy variables with a unique
> symtree name.
>
> 2017-02-08 Paul Thomas <pault@gcc.gnu.org>
>
> PR fortran/79344
> * gfortran.dg/submodule_23.f90: New test.
>
>
>
> On 7 February 2017 at 16:06, Paul Richard Thomas
> <paul.richard.thomas@gmail.com> wrote:
>> Dear All,
>>
>> This bug generates an ICE because the symbol for dummy 'n' in the
>> specification expression for the result of 'fun1' is not the same as
>> the symbol in the formal arglist. For some reason that I have been
>> unable to uncover, this false dummy is associated with a unique
>> symtree. The odd thing is that the dump of the parse tree for the
>> failing module procedure case is identical to that where the interface
>> is explcitely reproduced in the submodule. The cause of the ICE is
>> that the false dummy has no backend_decl as it should.
>>
>> This patch hits the problem directly on the head by using the
>> backend_decl from the symbol in the namespace of the formal arglist,
>> as described in the comment in the patch. If it is deemed to be more
>> hygenic, the chunk of code can be lifted out and deposited in a
>> separate function.
>>
>> Bootstraps and regtests on FC23/x86_64 - OK for trunk?
>>
>> Cheers
>>
>> Paul
>>
>> 2017-02-07 Paul Thomas <pault@gcc.gnu.org>
>>
>> PR fortran/79344
>> * trans-decl.c (gfc_get_symbol_decl): If a dummy apparently has
>> a null backend_decl, look for a replacement symbol in the
>> namespace of the 1st formal argument and use its backend_decl.
>>
>> 2017-02-07 Paul Thomas <pault@gcc.gnu.org>
>>
>> PR fortran/79344
>> * gfortran.dg/submodule_23.f90: New test.
>
>
>
> --
> "If you can't explain it simply, you don't understand it well enough"
> - Albert Einstein
--
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Ping [Patch, fortran] PR79402 - ICE with submodules: module procedure interface defined in parent module
2017-02-11 16:13 Ping [Patch, fortran] PR79402 - ICE with submodules: module procedure interface defined in parent module Paul Richard Thomas
@ 2017-02-19 18:44 ` Paul Richard Thomas
2017-02-20 9:41 ` Stefano Zaghi
0 siblings, 1 reply; 3+ messages in thread
From: Paul Richard Thomas @ 2017-02-19 18:44 UTC (permalink / raw)
To: fortran, gcc-patches; +Cc: Chris Coutinho, jdelia, Stefano Zaghi
Hi Everybody,
With Jerry's OK for a commit to trunk, committed as revision 245580.
I will wait a few weeks before a commit to 6-branch.
Cheers
Paul
On 11 February 2017 at 13:24, Paul Richard Thomas
<paul.richard.thomas@gmail.com> wrote:
> Ping!
>
> On 8 February 2017 at 16:00, Paul Richard Thomas
> <paul.richard.thomas@gmail.com> wrote:
>> Dear All,
>>
>> The attached rework of the patch functions in the same way as
>> yesterday's but is based in resolve.c rather than trans-decl.c. It
>> looks to me to be by far cleaner.
>>
>> Bootstraps and regtests on FC23/x86_64 - OK for trunk?
>>
>> Cheers
>>
>> Paul
>>
>> 2017-02-08 Paul Thomas <pault@gcc.gnu.org>
>>
>> PR fortran/79344
>> * resolve.c (fixup_unique_dummy): New function.
>> (gfc_resolve_expr): Call it for dummy variables with a unique
>> symtree name.
>>
>> 2017-02-08 Paul Thomas <pault@gcc.gnu.org>
>>
>> PR fortran/79344
>> * gfortran.dg/submodule_23.f90: New test.
>>
>>
>>
>> On 7 February 2017 at 16:06, Paul Richard Thomas
>> <paul.richard.thomas@gmail.com> wrote:
>>> Dear All,
>>>
>>> This bug generates an ICE because the symbol for dummy 'n' in the
>>> specification expression for the result of 'fun1' is not the same as
>>> the symbol in the formal arglist. For some reason that I have been
>>> unable to uncover, this false dummy is associated with a unique
>>> symtree. The odd thing is that the dump of the parse tree for the
>>> failing module procedure case is identical to that where the interface
>>> is explcitely reproduced in the submodule. The cause of the ICE is
>>> that the false dummy has no backend_decl as it should.
>>>
>>> This patch hits the problem directly on the head by using the
>>> backend_decl from the symbol in the namespace of the formal arglist,
>>> as described in the comment in the patch. If it is deemed to be more
>>> hygenic, the chunk of code can be lifted out and deposited in a
>>> separate function.
>>>
>>> Bootstraps and regtests on FC23/x86_64 - OK for trunk?
>>>
>>> Cheers
>>>
>>> Paul
>>>
>>> 2017-02-07 Paul Thomas <pault@gcc.gnu.org>
>>>
>>> PR fortran/79344
>>> * trans-decl.c (gfc_get_symbol_decl): If a dummy apparently has
>>> a null backend_decl, look for a replacement symbol in the
>>> namespace of the 1st formal argument and use its backend_decl.
>>>
>>> 2017-02-07 Paul Thomas <pault@gcc.gnu.org>
>>>
>>> PR fortran/79344
>>> * gfortran.dg/submodule_23.f90: New test.
>>
>>
>>
>> --
>> "If you can't explain it simply, you don't understand it well enough"
>> - Albert Einstein
>
>
>
> --
> "If you can't explain it simply, you don't understand it well enough"
> - Albert Einstein
--
"If you can't explain it simply, you don't understand it well enough"
- Albert Einstein
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Ping [Patch, fortran] PR79402 - ICE with submodules: module procedure interface defined in parent module
2017-02-19 18:44 ` Paul Richard Thomas
@ 2017-02-20 9:41 ` Stefano Zaghi
0 siblings, 0 replies; 3+ messages in thread
From: Stefano Zaghi @ 2017-02-20 9:41 UTC (permalink / raw)
To: Paul Richard Thomas; +Cc: fortran, gcc-patches, Chris Coutinho, jdelia
Dear Paul and Jerry (and all gfortran brave heroes),
thank you very much for your great work!
Cheers
Stefano Zaghi Ph.D. Aerospace Engineer
Research Scientist, Dept. of Computational Hydrodynamics at CNR-INSEAN
p: +39 0650299260 | m: +39 3497730036 | e: stefano.zaghi@gmail.com
Member of Fortran-FOSS-Programmers
Codes Showcase
OFF Open source Finite volumes Fluid dynamics code
Lib_VTK_IO Fortran library to write and read data conforming the VTK standard
FLAP Fortran command Line Arguments Parser for poor men
BeFoR64 Base64 encoding/decoding library for FoRtran poor men
FiNeR Fortran INI ParseR and generator for FoRtran poor men
IR_Precision Fortran (standard 2003) module to develop portable codes
FoBis.py Fortran Building System for poor men
PreForM.py Preprocessor for Fortran poor men
MaTiSSe.py Markdown To Impressive Scientific Slides
On Sun, Feb 19, 2017 at 7:29 PM, Paul Richard Thomas
<paul.richard.thomas@gmail.com> wrote:
> Hi Everybody,
>
> With Jerry's OK for a commit to trunk, committed as revision 245580.
>
> I will wait a few weeks before a commit to 6-branch.
>
> Cheers
>
>
> Paul
>
> On 11 February 2017 at 13:24, Paul Richard Thomas
> <paul.richard.thomas@gmail.com> wrote:
>> Ping!
>>
>> On 8 February 2017 at 16:00, Paul Richard Thomas
>> <paul.richard.thomas@gmail.com> wrote:
>>> Dear All,
>>>
>>> The attached rework of the patch functions in the same way as
>>> yesterday's but is based in resolve.c rather than trans-decl.c. It
>>> looks to me to be by far cleaner.
>>>
>>> Bootstraps and regtests on FC23/x86_64 - OK for trunk?
>>>
>>> Cheers
>>>
>>> Paul
>>>
>>> 2017-02-08 Paul Thomas <pault@gcc.gnu.org>
>>>
>>> PR fortran/79344
>>> * resolve.c (fixup_unique_dummy): New function.
>>> (gfc_resolve_expr): Call it for dummy variables with a unique
>>> symtree name.
>>>
>>> 2017-02-08 Paul Thomas <pault@gcc.gnu.org>
>>>
>>> PR fortran/79344
>>> * gfortran.dg/submodule_23.f90: New test.
>>>
>>>
>>>
>>> On 7 February 2017 at 16:06, Paul Richard Thomas
>>> <paul.richard.thomas@gmail.com> wrote:
>>>> Dear All,
>>>>
>>>> This bug generates an ICE because the symbol for dummy 'n' in the
>>>> specification expression for the result of 'fun1' is not the same as
>>>> the symbol in the formal arglist. For some reason that I have been
>>>> unable to uncover, this false dummy is associated with a unique
>>>> symtree. The odd thing is that the dump of the parse tree for the
>>>> failing module procedure case is identical to that where the interface
>>>> is explcitely reproduced in the submodule. The cause of the ICE is
>>>> that the false dummy has no backend_decl as it should.
>>>>
>>>> This patch hits the problem directly on the head by using the
>>>> backend_decl from the symbol in the namespace of the formal arglist,
>>>> as described in the comment in the patch. If it is deemed to be more
>>>> hygenic, the chunk of code can be lifted out and deposited in a
>>>> separate function.
>>>>
>>>> Bootstraps and regtests on FC23/x86_64 - OK for trunk?
>>>>
>>>> Cheers
>>>>
>>>> Paul
>>>>
>>>> 2017-02-07 Paul Thomas <pault@gcc.gnu.org>
>>>>
>>>> PR fortran/79344
>>>> * trans-decl.c (gfc_get_symbol_decl): If a dummy apparently has
>>>> a null backend_decl, look for a replacement symbol in the
>>>> namespace of the 1st formal argument and use its backend_decl.
>>>>
>>>> 2017-02-07 Paul Thomas <pault@gcc.gnu.org>
>>>>
>>>> PR fortran/79344
>>>> * gfortran.dg/submodule_23.f90: New test.
>>>
>>>
>>>
>>> --
>>> "If you can't explain it simply, you don't understand it well enough"
>>> - Albert Einstein
>>
>>
>>
>> --
>> "If you can't explain it simply, you don't understand it well enough"
>> - Albert Einstein
>
>
>
> --
> "If you can't explain it simply, you don't understand it well enough"
> - Albert Einstein
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-02-20 8:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-11 16:13 Ping [Patch, fortran] PR79402 - ICE with submodules: module procedure interface defined in parent module Paul Richard Thomas
2017-02-19 18:44 ` Paul Richard Thomas
2017-02-20 9:41 ` Stefano Zaghi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).