https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126305
Bug ID: 126305
Summary: Many gfortran tests fail due to excess errors on HP-UX
(undefined asinl, atanl, atan2l, acosl)
Product: gcc
Version: 17.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libfortran
Assignee: unassigned at gcc dot gnu.org
Reporter: danglin at gcc dot gnu.org
CC: anlauf at gmx dot de, jvdelisle2 at gmail dot com
Target Milestone: ---
Host: hppa64-hp-hpux11.11
Target: hppa64-hp-hpux11.11
Build: hppa64-hp-hpux11.11
Executing on host:
/home/dave/gnu/gcc/objdir64/gcc/testsuite/gfortran/../../gfortran
-B/home/dave/gnu/gcc/objdir64/gcc/testsuite/gfortran/../../
-B/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/./libgfortran/
exceptions_enabled25214.cc -fdiagnostics-plain-output
-fdiagnostics-plain-output -Wno-complain-wrong-lang -S -o
exceptions_enabled25214.s (timeout = 300)
spawn -ignore SIGHUP
/home/dave/gnu/gcc/objdir64/gcc/testsuite/gfortran/../../gfortran
-B/home/dave/gnu/gcc/objdir64/gcc/testsuite/gfortran/../../
-B/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/./libgfortran/
exceptions_enabled25214.cc -fdiagnostics-plain-output
-fdiagnostics-plain-output -Wno-complain-wrong-lang -S -o
exceptions_enabled25214.s
FAIL: gfortran.dg/c-interop/allocatable-dummy.f90 -O0 (test for excess
errors)
Excess errors:
ld: (Warning) Unsatisfied symbol "asinl" in file
/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/./libgfortran/.libs/libgfortran.sl
ld: (Warning) Unsatisfied symbol "atanl" in file
/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/./libgfortran/.libs/libgfortran.sl
ld: (Warning) Unsatisfied symbol "atan2l" in file
/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/./libgfortran/.libs/libgfortran.sl
ld: (Warning) Unsatisfied symbol "acosl" in file
/home/dave/gnu/gcc/objdir64/hppa64-hp-hpux11.11/./libgfortran/.libs/libgfortran.sl
4 warnings.
These symbols are referenced in trigd_specific.o. We don't currently have
implementations for these functions in c99_functions.c.
I believe this was introduced by the following commit:
commit 216d08b2cc1211dfd2b1710d2c8557f59035bef4
Author: Harald Anlauf <[email protected]>
Date: Mon Jul 6 20:50:18 2026 +0200
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.