DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANL, "ctanl", BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING)
DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CTAN, "ctan", CPROJ_TYPE, ATTR_MATHFN_FPROUNDING)
#undef CPROJ_TYPE
+#define TRIG_TYPE(F) BT_FN_##F##_##F
+DEF_C23_BUILTIN (BUILT_IN_ACOSPI, "acospi", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ACOSPIF, "acospif", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ACOSPIL, "acospil", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ACOSPI, "acospi", TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ASINPI, "asinpi", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ASINPIF, "asinpif", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ASINPIL, "asinpil", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ASINPI, "asinpi", TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ATANPI, "atanpi", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ATANPIF, "atanpif", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_ATANPIL, "atanpil", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATANPI, "atanpi", TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_COSPI, "cospi", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_COSPIF, "cospif", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_COSPIL, "cospil", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COSPI, "cospi", TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_SINPI, "sinpi", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_SINPIF, "sinpif", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_SINPIL, "sinpil", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SINPI, "sinpi", TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_TANPI, "tanpi", BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_TANPIF, "tanpif", BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_C23_BUILTIN (BUILT_IN_TANPIL, "tanpil", BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO)
+DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TANPI, "tanpi", TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO)
+#undef TRIG_TYPE
+#define TRIG2_TYPE(F) BT_FN_##F##_##F##_##F
+DEF_C23_BUILTIN (BUILT_IN_ATAN2PI, "atan2pi", BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
+DEF_C23_BUILTIN (BUILT_IN_ATAN2PIF, "atan2pif", BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST)
+DEF_C23_BUILTIN (BUILT_IN_ATAN2PIL, "atan2pil", BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST)
+DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATAN2PI, "atan2pi", TRIG2_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST)
+#undef TRIG2_TYPE
/* Category: string/memory builtins. */
DEF_EXT_LIB_BUILTIN (BUILT_IN_BCMP, "bcmp", BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, ATTR_PURE_NOTHROW_NONNULL_IF123_LEAF)
/* { dg-do compile } */
/* { dg-options "-std=c23" } */
+/* Keep this list sorted alphabetically by function name. */
+int acospi (void); /* { dg-warning "conflicting types for built-in function" } */
+int acospif (void); /* { dg-warning "conflicting types for built-in function" } */
+int acospil (void); /* { dg-warning "conflicting types for built-in function" } */
+int asinpi (void); /* { dg-warning "conflicting types for built-in function" } */
+int asinpif (void); /* { dg-warning "conflicting types for built-in function" } */
+int asinpil (void); /* { dg-warning "conflicting types for built-in function" } */
+int atan2pi (void); /* { dg-warning "conflicting types for built-in function" } */
+int atan2pif (void); /* { dg-warning "conflicting types for built-in function" } */
+int atan2pil (void); /* { dg-warning "conflicting types for built-in function" } */
+int atanpi (void); /* { dg-warning "conflicting types for built-in function" } */
+int atanpif (void); /* { dg-warning "conflicting types for built-in function" } */
+int atanpil (void); /* { dg-warning "conflicting types for built-in function" } */
+int cospi (void); /* { dg-warning "conflicting types for built-in function" } */
+int cospif (void); /* { dg-warning "conflicting types for built-in function" } */
+int cospil (void); /* { dg-warning "conflicting types for built-in function" } */
int exp10 (void); /* { dg-warning "conflicting types for built-in function" } */
int exp10f (void); /* { dg-warning "conflicting types for built-in function" } */
int exp10l (void); /* { dg-warning "conflicting types for built-in function" } */
int roundeven (void); /* { dg-warning "conflicting types for built-in function" } */
int roundevenf (void); /* { dg-warning "conflicting types for built-in function" } */
int roundevenl (void); /* { dg-warning "conflicting types for built-in function" } */
+int sinpi (void); /* { dg-warning "conflicting types for built-in function" } */
+int sinpif (void); /* { dg-warning "conflicting types for built-in function" } */
+int sinpil (void); /* { dg-warning "conflicting types for built-in function" } */
int strdup (void); /* { dg-warning "conflicting types for built-in function" } */
int strndup (void); /* { dg-warning "conflicting types for built-in function" } */
+int tanpi (void); /* { dg-warning "conflicting types for built-in function" } */
+int tanpif (void); /* { dg-warning "conflicting types for built-in function" } */
+int tanpil (void); /* { dg-warning "conflicting types for built-in function" } */