This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, Fortran, OOP] PR 64244: [4.8/4.9/5 Regression] ICE at class.c:236 when using non_overridable
- From: Janus Weil <janus at gcc dot gnu dot org>
- To: Tobias Burnus <burnus at net-b dot de>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, gfortran <fortran at gcc dot gnu dot org>
- Date: Tue, 16 Dec 2014 09:16:53 +0100
- Subject: Re: [Patch, Fortran, OOP] PR 64244: [4.8/4.9/5 Regression] ICE at class.c:236 when using non_overridable
- Authentication-results: sourceware.org; auth=none
- References: <CAKwh3qjWkB9DAai1Y2CidUT7ysn7prWHgegPT9Jeu7n-FFi+NA at mail dot gmail dot com> <548FD832 dot 4050907 at net-b dot de>
2014-12-16 7:58 GMT+01:00 Tobias Burnus <burnus@net-b.de>:
> Hi Janus, hi all,
>
> Janus Weil wrote:
>>
>> here is a regression fix for a problem with the NON_OVERRIDABLE
>> attribute. For non-overridable type-bound procedures we do not have to
>> generate a call to the vtable, but can just translate it to a simple
>> ('non-virtual') function call. In this particular case, an additional
>> generic binding was present, which fooled the compiler to believe that
>> the call goes to an overridable procedure, so it tried to generate a
>> call to a vtable entry which did not exist. The trick is simply to
>> take the NON-OVERRIDABLE attribute from the specific procedure, not
>> the generic one (which means the generic call has to be resolved to a
>> specific one first).
>>
>> The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk? And
>> for 4.8/4.9 after some time?
>
>
> OK. Thanks for the patch!
Committed as r218776. I'll wait a bit before putting it to the
branches, to see if any problems show up on trunk ...
Cheers,
Janus