[Patch,Fortran] PR 36158 - Run-time implementation of BESSEL_JN/YN
Tobias Burnus
burnus@net-b.de
Sat Aug 21 10:28:00 GMT 2010
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.
Tobias
More information about the Fortran
mailing list