PING! Re: [PATCH, Fortran] Extension: COTAN and degree-valued trig intrinsics with -fdec-math

Fritz Reese
Mon Oct 10 15:07:00 GMT 2016 [original] [latest]

On Wed, Sep 28, 2016 at 4:14 PM, Fritz Reese <> wrote:
> Attached is a patch extending the GNU Fortran front-end to support
> some additional math intrinsics, enabled with a new compile flag
> -fdec-math. The flag adds the COTAN intrinsic (cotangent), as well as
> degree versions of all trigonometric intrinsics (SIND, TAND, ACOSD,
> etc...). This extension allows for further compatibility with legacy
> code that depends on the compiler to support such intrinsic functions.

Patch is still pending. Current draft of the patch is re-attached for
convenience, since it was amended twice since the original post. OK
for trunk?

Fritz Reese

2016-09-28  Fritz Reese  <>

         New flag -fdec-math for COTAN and degree trig intrinsics.

        * lang.opt: New flag -fdec-math.
        * options.c (set_dec_flags): Enable with -fdec.
        * invoke.texi, gfortran.texi, intrinsic.texi: Update documentation.
        * intrinsics.c (add_functions, do_simplify): New intrinsics
        with -fdec-math.
        * gfortran.h (gfc_isym_id): New isym GFC_ISYM_COTAN.
        * gfortran.h (gfc_resolve_atan2d, gfc_resolve_cotan,
        gfc_resolve_trigd, gfc_resolve_atrigd): New prototypes.
        * iresolve.c (resolve_trig_call, get_degrees, get_radians,
        is_trig_resolved, gfc_resolve_cotan, gfc_resolve_trigd,
        gfc_resolve_atrigd, gfc_resolve_atan2d): New functions.
        * intrinsics.h (gfc_simplify_atan2d, gfc_simplify_atrigd,
        gfc_simplify_cotan, gfc_simplify_trigd): New prototypes.
        * simplify.c (simplify_trig_call, degrees_f, radians_f,
        gfc_simplify_cotan, gfc_simplify_trigd, gfc_simplify_atrigd,
        gfc_simplify_atan2d): New functions.

        * dec_math.f90: New testsuite.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dec_math3.patch
Type: text/x-patch
Size: 55062 bytes
Desc: not available
URL: <>

More information about the Gcc-patches mailing list