[Patch,Fortran] PR 36158 - Run-time implementation of BESSEL_JN/YN

H.J. Lu hjl.tools@gmail.com
Sat Aug 21 14:17:00 GMT 2010


On Sat, Aug 21, 2010 at 3:28 AM, Tobias Burnus <burnus@net-b.de> wrote:
>  Am 21.08.2010 11:48, schrieb Daniel Kraft:
>>
>> Tobias Burnus wrote:
>>>
>>>  The attached patch implements the run-time version of BESSEL_JN/YN. At
>>> the same time it allows to mark arguments of intrinsic functions as (call
>>> by) VALUE. In order to get this working, I had to modify the
>>> trans-intrinsics.c to use the interface - and I had to fix the fall out
>>> ICEs.
>>>
>>> Build and regtested on x86-64-linux.
>>> OK for the trunk?
>>
>> Ok, considering the following points:
>>
>> +
>> +  f->value.function.isym->formal->ts = a->ts;
>> +  f->value.function.isym->formal->next->ts = mo->ts;
>> +
>>
>> Has this something to do with your patch?  I don't really see what.
>
> That's a fall out of adding support for the value attribute - or more
> explicitly: the consequence of adding gfc_copy_formal_args_intr in
> trans-intrinsic.c; that change caused an ICE (segfault) for many test cases
> and intrinsics such as RESHAPE, which I fixed by checking for fsym->as ==
> NULL in gfc_conv_procedure_call (which should lead to the same cause as
> before fsym==NULL matched). Well, the other ICE was then for extends_type_of
> due to the BT_UNKNOWN. I fixed this by the snippet above.
>
> Thanks for the review! I have incorporated all the suggested changes.
>
> Committed as Rev. 163440.
>

Tests failed on Linux/ia32:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45367


-- 
H.J.



More information about the Fortran mailing list