This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch,Fortran] PR 36158 - Run-time implementation of BESSEL_JN/YN
- From: Daniel Kraft <d at domob dot eu>
- 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: Sat, 21 Aug 2010 11:48:58 +0200
- Subject: Re: [Patch,Fortran] PR 36158 - Run-time implementation of BESSEL_JN/YN
- References: <4C6F0D40.4060100@net-b.de>
Hi Tobias,
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:
@@ -883,6 +922,10 @@ gfc_resolve_extends_type_of (gfc_expr *f
f->ts.type = BT_LOGICAL;
f->ts.kind = 4;
+
+ f->value.function.isym->formal->ts = a->ts;
+ f->value.function.isym->formal->next->ts = mo->ts;
+
/* Call library function. */
f->value.function.name = gfc_get_string (PREFIX ("is_extension_of"));
}
Has this something to do with your patch? I don't really see what.
+ mpfr_set_inf (e->value.real, -1);
+ gfc_constructor_append_expr (&result->value.constructor, e,
This looks like white-space tab vs spaces mismatch.
In the .m4 file:
+ GFC_DIMENSION_SET(ret->dim[0], 0, size-1, 1);
One space too much before size-1.
+ if (unlikely (x == 0.0'Q`))
+ {
+ ret->data[0] = 1.0;
+ for (i = 1; i <= n2-n1; i++)
+ ret->data[i*stride] = 0.0'Q`;
+ return;
+ }
Maybe another 'Q` suffix for 1.0?
Thanks for the patch! Yours,
Daniel
--
http://www.pro-vegan.info/
--
Done: Arc-Bar-Cav-Kni-Ran-Rog-Sam-Tou-Val-Wiz
To go: Hea-Mon-Pri