gnu/gcc/216d08b2cc1211dfd2b1710d2c8557f59035bef4 Fortran: degree trigonometric functions and procedure pointers [PR121366]
While libgfortran already provides an implementation of the degree
trigonometric functions and their inverses with argument passed by value,
some situations (e.g. when used as procedure pointer target) need the
variant with Fortran calling conventions where the argument is passed by
reference. Provide the appropriate specific wrappers.
PR fortran/121366
gcc/fortran/ChangeLog:
* intrinsic.texi: Remove documentation of GNU intrinsic extensions
(CCOSD,ZCOSD,CDCOSD) that were never implemented.
* iresolve.cc (gfc_resolve_trig): Fix resolution of degree
trigonometric functions and generate references to the proper
library functions.
(gfc_resolve_trig2): Likewise.
* trans-decl.cc (gfc_get_extern_function_decl): Ensure that isym
is set when resolving intrinsic procedures.
libgfortran/ChangeLog:
* Makefile.am: Add dependency on wrappers to degree trigonometric
functions.
* Makefile.in: Regenerate.
* gfortran.map: Add references to new wrapper functions.
* intrinsics/trigd_specific.F90: New file.
gcc/testsuite/ChangeLog:
* gfortran.dg/trigd_1.f90: New test.
8 files changed