| 1 | /* This file contains the definitions and documentation for the |
| 2 | builtins used in the GNU compiler. |
| 3 | Copyright (C) 2000-2026 Free Software Foundation, Inc. |
| 4 | |
| 5 | This file is part of GCC. |
| 6 | |
| 7 | GCC is free software; you can redistribute it and/or modify it under |
| 8 | the terms of the GNU General Public License as published by the Free |
| 9 | Software Foundation; either version 3, or (at your option) any later |
| 10 | version. |
| 11 | |
| 12 | GCC is distributed in the hope that it will be useful, but WITHOUT ANY |
| 13 | WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| 14 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| 15 | for more details. |
| 16 | |
| 17 | You should have received a copy of the GNU General Public License |
| 18 | along with GCC; see the file COPYING3. If not see |
| 19 | <http://www.gnu.org/licenses/>. */ |
| 20 | |
| 21 | /* Before including this file, you should define a macro: |
| 22 | |
| 23 | DEF_BUILTIN (ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, |
| 24 | FALLBACK_P, NONANSI_P, ATTRS, IMPLICIT, COND) |
| 25 | |
| 26 | This macro will be called once for each builtin function. The |
| 27 | ENUM will be of type `enum built_in_function', and will indicate |
| 28 | which builtin function is being processed. The NAME of the builtin |
| 29 | function (which will always start with `__builtin_') is a string |
| 30 | literal. The CLASS is of type `enum built_in_class' and indicates |
| 31 | what kind of builtin is being processed. |
| 32 | |
| 33 | Some builtins are actually two separate functions. For example, |
| 34 | for `strcmp' there are two builtin functions; `__builtin_strcmp' |
| 35 | and `strcmp' itself. Both behave identically. Other builtins |
| 36 | define only the `__builtin' variant. If BOTH_P is TRUE, then this |
| 37 | builtin has both variants; otherwise, it is has only the first |
| 38 | variant. |
| 39 | |
| 40 | TYPE indicates the type of the function. The symbols correspond to |
| 41 | enumerals from builtin-types.def. If BOTH_P is true, then LIBTYPE |
| 42 | is the type of the non-`__builtin_' variant. Otherwise, LIBTYPE |
| 43 | should be ignored. |
| 44 | |
| 45 | If FALLBACK_P is true then, if for some reason, the compiler cannot |
| 46 | expand the builtin function directly, it will call the |
| 47 | corresponding library function (which does not have the |
| 48 | `__builtin_' prefix. |
| 49 | |
| 50 | If NONANSI_P is true, then the non-`__builtin_' variant is not an |
| 51 | ANSI/ISO library function, and so we should pretend it does not |
| 52 | exist when compiling in ANSI conformant mode. |
| 53 | |
| 54 | ATTRs is an attribute list as defined in builtin-attrs.def that |
| 55 | describes the attributes of this builtin function. |
| 56 | |
| 57 | IMPLICIT specifies condition when the builtin can be produced by |
| 58 | compiler. For instance C90 reserves floorf function, but does not |
| 59 | define it's meaning. When user uses floorf we may assume that the |
| 60 | floorf has the meaning we expect, but we can't produce floorf by |
| 61 | simplifying floor((double)float) since the runtime need not implement |
| 62 | it. |
| 63 | |
| 64 | The builtins is registered only if COND is true. */ |
| 65 | |
| 66 | /* A GCC builtin (like __builtin_saveregs) is provided by the |
| 67 | compiler, but does not correspond to a function in the standard |
| 68 | library. */ |
| 69 | #undef DEF_GCC_BUILTIN |
| 70 | #define DEF_GCC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 71 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ |
| 72 | false, false, false, ATTRS, true, true) |
| 73 | |
| 74 | /* Like DEF_GCC_BUILTIN, except we don't prepend "__builtin_". */ |
| 75 | #undef DEF_SYNC_BUILTIN |
| 76 | #define DEF_SYNC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 77 | DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ |
| 78 | false, false, false, ATTRS, true, true) |
| 79 | |
| 80 | /* A set of GCC builtins for _FloatN and _FloatNx types. TYPE_MACRO |
| 81 | is called with an argument such as FLOAT32 to produce the enum |
| 82 | value for the type. */ |
| 83 | #undef DEF_GCC_FLOATN_NX_BUILTINS |
| 84 | #define DEF_GCC_FLOATN_NX_BUILTINS(ENUM, NAME, TYPE_MACRO, ATTRS) \ |
| 85 | DEF_GCC_BUILTIN (ENUM ## F16, NAME "f16", TYPE_MACRO (FLOAT16), ATTRS) \ |
| 86 | DEF_GCC_BUILTIN (ENUM ## F32, NAME "f32", TYPE_MACRO (FLOAT32), ATTRS) \ |
| 87 | DEF_GCC_BUILTIN (ENUM ## F64, NAME "f64", TYPE_MACRO (FLOAT64), ATTRS) \ |
| 88 | DEF_GCC_BUILTIN (ENUM ## F128, NAME "f128", TYPE_MACRO (FLOAT128), ATTRS) \ |
| 89 | DEF_GCC_BUILTIN (ENUM ## F32X, NAME "f32x", TYPE_MACRO (FLOAT32X), ATTRS) \ |
| 90 | DEF_GCC_BUILTIN (ENUM ## F64X, NAME "f64x", TYPE_MACRO (FLOAT64X), ATTRS) \ |
| 91 | DEF_GCC_BUILTIN (ENUM ## F128X, NAME "f128x", TYPE_MACRO (FLOAT128X), ATTRS) |
| 92 | |
| 93 | /* A library builtin (like __builtin_strchr) is a builtin equivalent |
| 94 | of an ANSI/ISO standard library function. In addition to the |
| 95 | `__builtin' version, we will create an ordinary version (e.g, |
| 96 | `strchr') as well. If we cannot compute the answer using the |
| 97 | builtin function, we will fall back to the standard library |
| 98 | version. */ |
| 99 | #undef DEF_LIB_BUILTIN |
| 100 | #define DEF_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 101 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 102 | true, true, false, ATTRS, true, true) |
| 103 | |
| 104 | /* Like DEF_LIB_BUILTIN, except that the function is not one that is |
| 105 | specified by ANSI/ISO C. So, when we're being fully conformant we |
| 106 | ignore the version of these builtins that does not begin with |
| 107 | __builtin. */ |
| 108 | #undef DEF_EXT_LIB_BUILTIN |
| 109 | #define DEF_EXT_LIB_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 110 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 111 | true, true, true, ATTRS, false, true) |
| 112 | |
| 113 | /* A set of GCC builtins for _FloatN and _FloatNx types. TYPE_MACRO is called |
| 114 | with an argument such as FLOAT32 to produce the enum value for the type. If |
| 115 | we are compiling for the C language with GNU extensions, we enable the name |
| 116 | without the __builtin_ prefix as well as the name with the __builtin_ |
| 117 | prefix. C++ does not enable these names by default because a class based |
| 118 | library should use the __builtin_ names. */ |
| 119 | #undef DEF_FLOATN_BUILTIN |
| 120 | #define DEF_FLOATN_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 121 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 122 | targetm.floatn_builtin_p ((int) ENUM), true, true, ATTRS, \ |
| 123 | false, true) |
| 124 | #undef DEF_EXT_LIB_FLOATN_NX_BUILTINS |
| 125 | #define DEF_EXT_LIB_FLOATN_NX_BUILTINS(ENUM, NAME, TYPE_MACRO, ATTRS) \ |
| 126 | DEF_FLOATN_BUILTIN (ENUM ## F16, NAME "f16", TYPE_MACRO (FLOAT16), ATTRS) \ |
| 127 | DEF_FLOATN_BUILTIN (ENUM ## F32, NAME "f32", TYPE_MACRO (FLOAT32), ATTRS) \ |
| 128 | DEF_FLOATN_BUILTIN (ENUM ## F64, NAME "f64", TYPE_MACRO (FLOAT64), ATTRS) \ |
| 129 | DEF_FLOATN_BUILTIN (ENUM ## F128, NAME "f128", TYPE_MACRO (FLOAT128), ATTRS) \ |
| 130 | DEF_FLOATN_BUILTIN (ENUM ## F32X, NAME "f32x", TYPE_MACRO (FLOAT32X), ATTRS) \ |
| 131 | DEF_FLOATN_BUILTIN (ENUM ## F64X, NAME "f64x", TYPE_MACRO (FLOAT64X), ATTRS) \ |
| 132 | DEF_FLOATN_BUILTIN (ENUM ## F128X, NAME "f128x", TYPE_MACRO (FLOAT128X), \ |
| 133 | ATTRS) |
| 134 | |
| 135 | /* Like DEF_LIB_BUILTIN, except that the function is only a part of |
| 136 | the standard in C94 or above. */ |
| 137 | #undef DEF_C94_BUILTIN |
| 138 | #define DEF_C94_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 139 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 140 | true, true, !flag_isoc94, ATTRS, \ |
| 141 | targetm.libc_has_function (function_c94, NULL_TREE), true) |
| 142 | |
| 143 | /* Like DEF_LIB_BUILTIN, except that the function is only a part of |
| 144 | the standard in C99 or above. */ |
| 145 | #undef DEF_C99_BUILTIN |
| 146 | #define DEF_C99_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 147 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 148 | true, true, !flag_isoc99, ATTRS, \ |
| 149 | targetm.libc_has_function (function_c99_misc, NULL_TREE), true) |
| 150 | |
| 151 | /* Like DEF_LIB_BUILTIN, except that the function is only a part of |
| 152 | the standard in C11 or above. */ |
| 153 | #undef DEF_C11_BUILTIN |
| 154 | #define DEF_C11_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 155 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 156 | true, true, !flag_isoc11, ATTRS, \ |
| 157 | targetm.libc_has_function (function_c11_misc, NULL_TREE), true) |
| 158 | |
| 159 | /* Like DEF_LIB_BUILTIN, except that the function is only a part of |
| 160 | the standard in C23 or above. */ |
| 161 | #undef DEF_C23_BUILTIN |
| 162 | #define DEF_C23_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 163 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 164 | true, true, !flag_isoc23, ATTRS, \ |
| 165 | targetm.libc_has_function (function_c23_misc, NULL_TREE), true) |
| 166 | |
| 167 | /* Like DEF_LIB_BUILTIN, except that the function is only a part of |
| 168 | the standard in C2Y or above. */ |
| 169 | #undef DEF_C2Y_BUILTIN |
| 170 | #define DEF_C2Y_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 171 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 172 | true, true, !flag_isoc2y, ATTRS, \ |
| 173 | targetm.libc_has_function (function_c2y_misc, NULL_TREE), true) |
| 174 | |
| 175 | /* Like DEF_C99_BUILTIN, but for complex math functions. */ |
| 176 | #undef DEF_C99_COMPL_BUILTIN |
| 177 | #define DEF_C99_COMPL_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 178 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 179 | true, true, !flag_isoc99, ATTRS, \ |
| 180 | targetm.libc_has_function (function_c99_math_complex, \ |
| 181 | NULL_TREE), \ |
| 182 | true) |
| 183 | |
| 184 | /* Builtin that is specified by C99 and C90 reserve the name for future use. |
| 185 | We can still recognize the builtin in C90 mode but we can't produce it |
| 186 | implicitly. */ |
| 187 | #undef DEF_C99_C90RES_BUILTIN |
| 188 | #define DEF_C99_C90RES_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 189 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 190 | true, true, !flag_isoc99, ATTRS, \ |
| 191 | targetm.libc_has_function (function_c99_misc, NULL_TREE), true) |
| 192 | |
| 193 | /* Builtin that C99 reserve the name for future use. We can still recognize |
| 194 | the builtin in C99 mode but we can't produce it implicitly. */ |
| 195 | #undef DEF_EXT_C99RES_BUILTIN |
| 196 | #define DEF_EXT_C99RES_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 197 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 198 | true, true, true, ATTRS, false, true) |
| 199 | |
| 200 | /* Allocate the enum and the name for a builtin, but do not actually |
| 201 | define it here at all. */ |
| 202 | #undef DEF_BUILTIN_STUB |
| 203 | #define DEF_BUILTIN_STUB(ENUM, NAME) \ |
| 204 | DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, BT_LAST, BT_LAST, false, false, \ |
| 205 | false, ATTR_LAST, false, false) |
| 206 | |
| 207 | /* Builtins used in implementing coroutine support. */ |
| 208 | #undef DEF_COROUTINE_BUILTIN |
| 209 | #define DEF_COROUTINE_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 210 | DEF_BUILTIN (ENUM, "__builtin_coro_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 211 | true, true, true, ATTRS, true, flag_coroutines) |
| 212 | |
| 213 | /* Builtin used by the implementation of OpenACC and OpenMP. Few of these are |
| 214 | actually implemented in the compiler; most are in libgomp. */ |
| 215 | #undef DEF_GOACC_BUILTIN |
| 216 | #define DEF_GOACC_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 217 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 218 | false, true, true, ATTRS, false, \ |
| 219 | flag_openacc) |
| 220 | /* Set NONANSI_P = false to enable the builtins also with -fno-nonansi-builtins, |
| 221 | esp. as -std=c++../c.. imply that flag and -fopenacc should be othogonal. */ |
| 222 | #undef DEF_GOACC_BUILTIN_COMPILER |
| 223 | #define DEF_GOACC_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \ |
| 224 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 225 | flag_openacc, true, true, ATTRS, false, true) |
| 226 | #undef DEF_GOACC_BUILTIN_ONLY |
| 227 | #define DEF_GOACC_BUILTIN_ONLY(ENUM, NAME, TYPE, ATTRS) \ |
| 228 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ |
| 229 | false, false, true, ATTRS, false, flag_openacc) |
| 230 | #undef DEF_GOMP_BUILTIN |
| 231 | #define DEF_GOMP_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 232 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 233 | false, true, true, ATTRS, false, \ |
| 234 | (flag_openacc \ |
| 235 | || flag_openmp \ |
| 236 | || flag_tree_parallelize_loops > 1)) |
| 237 | /* Set NONANSI_P = false to enable the builtins also with -fno-nonansi-builtins, |
| 238 | esp. as -std=c++../c.. imply that flag and -fopenmp should be othogonal. */ |
| 239 | #undef DEF_GOMP_BUILTIN_COMPILER |
| 240 | #define DEF_GOMP_BUILTIN_COMPILER(ENUM, NAME, TYPE, ATTRS) \ |
| 241 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 242 | flag_openmp, true, false, ATTRS, false, flag_openmp) |
| 243 | |
| 244 | /* Builtin used by the implementation of GNU TM. These |
| 245 | functions are mapped to the actual implementation of the STM library. */ |
| 246 | #undef DEF_TM_BUILTIN |
| 247 | #define DEF_TM_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 248 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, BT_LAST, \ |
| 249 | false, true, true, ATTRS, false, flag_tm) |
| 250 | |
| 251 | /* Builtin used by the implementation of libsanitizer. These |
| 252 | functions are mapped to the actual implementation of the |
| 253 | libtsan library. */ |
| 254 | #undef DEF_SANITIZER_BUILTIN |
| 255 | #define DEF_SANITIZER_BUILTIN(ENUM, NAME, TYPE, ATTRS) \ |
| 256 | DEF_BUILTIN (ENUM, "__builtin_" NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ |
| 257 | true, true, true, ATTRS, true, \ |
| 258 | (flag_sanitize & (SANITIZE_ADDRESS | SANITIZE_THREAD \ |
| 259 | | SANITIZE_HWADDRESS \ |
| 260 | | SANITIZE_MEMTAG_STACK \ |
| 261 | | SANITIZE_UNDEFINED \ |
| 262 | | SANITIZE_UNDEFINED_NONDEFAULT) \ |
| 263 | || flag_sanitize_coverage)) |
| 264 | |
| 265 | /* Define an attribute list for math functions that are normally |
| 266 | "impure" because some of them may write into global memory for |
| 267 | `errno'. If !flag_errno_math they are instead "const". */ |
| 268 | #undef ATTR_MATHFN_ERRNO |
| 269 | #define ATTR_MATHFN_ERRNO (flag_errno_math ? \ |
| 270 | ATTR_ERRNOCONST_NOTHROW_LEAF_LIST : ATTR_CONST_NOTHROW_LEAF_LIST) |
| 271 | |
| 272 | /* Define an attribute list for math functions that are normally |
| 273 | "const" but if flag_rounding_math is set they are instead "pure". |
| 274 | This distinction accounts for the fact that some math functions |
| 275 | check the rounding mode which is akin to examining global |
| 276 | memory. */ |
| 277 | #undef ATTR_MATHFN_FPROUNDING |
| 278 | #define ATTR_MATHFN_FPROUNDING (flag_rounding_math ? \ |
| 279 | ATTR_PURE_NOTHROW_LEAF_LIST : ATTR_CONST_NOTHROW_LEAF_LIST) |
| 280 | |
| 281 | /* Define an attribute list for math functions that are normally |
| 282 | "impure" because some of them may write into global memory for |
| 283 | `errno'. If !flag_errno_math, we can possibly use "pure" or |
| 284 | "const" depending on whether we care about FP rounding. */ |
| 285 | #undef ATTR_MATHFN_FPROUNDING_ERRNO |
| 286 | #define ATTR_MATHFN_FPROUNDING_ERRNO (flag_errno_math ? \ |
| 287 | (flag_rounding_math ? ATTR_ERRNOPURE_NOTHROW_LEAF_LIST \ |
| 288 | : ATTR_ERRNOCONST_NOTHROW_LEAF_LIST) : ATTR_MATHFN_FPROUNDING) |
| 289 | |
| 290 | /* Define an attribute list for math functions that need to mind FP |
| 291 | rounding, but because they store into memory they are never "const" |
| 292 | or "pure". Use of this macro is mainly for documentation and |
| 293 | maintenance purposes. */ |
| 294 | #undef ATTR_MATHFN_FPROUNDING_STORE |
| 295 | #define ATTR_MATHFN_FPROUNDING_STORE ATTR_NOTHROW_LEAF_LIST |
| 296 | |
| 297 | /* Define an attribute list for leaf functions that do not throw |
| 298 | exceptions normally, but may throw exceptions when using |
| 299 | -fnon-call-exceptions. */ |
| 300 | #define ATTR_NOTHROWCALL_LEAF_LIST (flag_non_call_exceptions ? \ |
| 301 | ATTR_LEAF_LIST : ATTR_NOTHROW_LEAF_LIST) |
| 302 | |
| 303 | /* Make sure 0 is not a legitimate builtin. */ |
| 304 | DEF_BUILTIN_STUB(BUILT_IN_NONE, (const char *)0) |
| 305 | |
| 306 | /* Category: math builtins. */ |
| 307 | DEF_LIB_BUILTIN (BUILT_IN_ACOS, "acos" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 308 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ACOSF, "acosf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 309 | DEF_C99_BUILTIN (BUILT_IN_ACOSH, "acosh" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 310 | DEF_C99_BUILTIN (BUILT_IN_ACOSHF, "acoshf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 311 | DEF_C99_BUILTIN (BUILT_IN_ACOSHL, "acoshl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 312 | #define ACOSH_TYPE(F) BT_FN_##F##_##F |
| 313 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ACOSH, "acosh" , ACOSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 314 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ACOSL, "acosl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 315 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ACOS, "acos" , ACOSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 316 | DEF_C11_BUILTIN (BUILT_IN_ALIGNED_ALLOC, "aligned_alloc" , BT_FN_PTR_SIZE_SIZE, ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LIST) |
| 317 | DEF_LIB_BUILTIN (BUILT_IN_ASIN, "asin" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 318 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ASINF, "asinf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 319 | DEF_C99_BUILTIN (BUILT_IN_ASINH, "asinh" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 320 | DEF_C99_BUILTIN (BUILT_IN_ASINHF, "asinhf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 321 | DEF_C99_BUILTIN (BUILT_IN_ASINHL, "asinhl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 322 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ASINH, "asinh" , ACOSH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 323 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ASINL, "asinl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 324 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ASIN, "asin" , ACOSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 325 | #undef ACOSH_TYPE |
| 326 | DEF_LIB_BUILTIN (BUILT_IN_ATAN, "atan" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 327 | DEF_LIB_BUILTIN (BUILT_IN_ATAN2, "atan2" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 328 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ATAN2F, "atan2f" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 329 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ATAN2L, "atan2l" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 330 | #define ATAN2_TYPE(F) BT_FN_##F##_##F##_##F |
| 331 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATAN2, "atan2" , ATAN2_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 332 | #undef ATAN2_TYPE |
| 333 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ATANF, "atanf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 334 | DEF_C99_BUILTIN (BUILT_IN_ATANH, "atanh" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 335 | DEF_C99_BUILTIN (BUILT_IN_ATANHF, "atanhf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 336 | DEF_C99_BUILTIN (BUILT_IN_ATANHL, "atanhl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 337 | #define ATANH_TYPE(F) BT_FN_##F##_##F |
| 338 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATANH, "atanh" , ATANH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 339 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ATANL, "atanl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 340 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATAN, "atan" , ATANH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 341 | DEF_C99_BUILTIN (BUILT_IN_CBRT, "cbrt" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 342 | DEF_C99_BUILTIN (BUILT_IN_CBRTF, "cbrtf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 343 | DEF_C99_BUILTIN (BUILT_IN_CBRTL, "cbrtl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 344 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CBRT, "cbrt" , ATANH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 345 | #undef ATANH_TYPE |
| 346 | DEF_LIB_BUILTIN (BUILT_IN_CEIL, "ceil" , BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 347 | DEF_C99_C90RES_BUILTIN (BUILT_IN_CEILF, "ceilf" , BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 348 | DEF_C99_C90RES_BUILTIN (BUILT_IN_CEILL, "ceill" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 349 | #define CEIL_TYPE(F) BT_FN_##F##_##F |
| 350 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CEIL, "ceil" , CEIL_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 351 | #undef CEIL_TYPE |
| 352 | DEF_C99_BUILTIN (BUILT_IN_COPYSIGN, "copysign" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 353 | DEF_C99_BUILTIN (BUILT_IN_COPYSIGNF, "copysignf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 354 | DEF_C99_BUILTIN (BUILT_IN_COPYSIGNL, "copysignl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 355 | #define COPYSIGN_TYPE(F) BT_FN_##F##_##F##_##F |
| 356 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COPYSIGN, "copysign" , COPYSIGN_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 357 | #undef COPYSIGN_TYPE |
| 358 | DEF_LIB_BUILTIN (BUILT_IN_COS, "cos" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 359 | DEF_C99_C90RES_BUILTIN (BUILT_IN_COSF, "cosf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 360 | DEF_LIB_BUILTIN (BUILT_IN_COSH, "cosh" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 361 | DEF_C99_C90RES_BUILTIN (BUILT_IN_COSHF, "coshf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 362 | DEF_C99_C90RES_BUILTIN (BUILT_IN_COSHL, "coshl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 363 | #define COSH_TYPE(F) BT_FN_##F##_##F |
| 364 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COSH, "cosh" , COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 365 | DEF_C99_C90RES_BUILTIN (BUILT_IN_COSL, "cosl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 366 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COS, "cos" , COSH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 367 | DEF_EXT_LIB_BUILTIN (BUILT_IN_DREM, "drem" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 368 | DEF_EXT_LIB_BUILTIN (BUILT_IN_DREMF, "dremf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 369 | DEF_EXT_LIB_BUILTIN (BUILT_IN_DREML, "dreml" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 370 | DEF_C99_BUILTIN (BUILT_IN_ERF, "erf" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 371 | DEF_C99_BUILTIN (BUILT_IN_ERFC, "erfc" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 372 | DEF_C99_BUILTIN (BUILT_IN_ERFCF, "erfcf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 373 | DEF_C99_BUILTIN (BUILT_IN_ERFCL, "erfcl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 374 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ERFC, "erfc" , COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 375 | DEF_C99_BUILTIN (BUILT_IN_ERFF, "erff" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 376 | DEF_C99_BUILTIN (BUILT_IN_ERFL, "erfl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 377 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ERF, "erf" , COSH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 378 | DEF_LIB_BUILTIN (BUILT_IN_EXP, "exp" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 379 | DEF_C23_BUILTIN (BUILT_IN_EXP10, "exp10" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 380 | DEF_C23_BUILTIN (BUILT_IN_EXP10F, "exp10f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 381 | DEF_C23_BUILTIN (BUILT_IN_EXP10L, "exp10l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 382 | DEF_C99_BUILTIN (BUILT_IN_EXP2, "exp2" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 383 | DEF_C99_BUILTIN (BUILT_IN_EXP2F, "exp2f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 384 | DEF_C99_BUILTIN (BUILT_IN_EXP2L, "exp2l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 385 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_EXP2, "exp2" , COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 386 | DEF_C99_C90RES_BUILTIN (BUILT_IN_EXPF, "expf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 387 | DEF_C99_C90RES_BUILTIN (BUILT_IN_EXPL, "expl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 388 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_EXP, "exp" , COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 389 | DEF_C99_BUILTIN (BUILT_IN_EXPM1, "expm1" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 390 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_EXPM1, "expm1" , COSH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 391 | #undef COSH_TYPE |
| 392 | DEF_C99_BUILTIN (BUILT_IN_EXPM1F, "expm1f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 393 | DEF_C99_BUILTIN (BUILT_IN_EXPM1L, "expm1l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 394 | DEF_LIB_BUILTIN (BUILT_IN_FABS, "fabs" , BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 395 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FABSF, "fabsf" , BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 396 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FABSL, "fabsl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 397 | #define FABS_TYPE(F) BT_FN_##F##_##F |
| 398 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FABS, "fabs" , FABS_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 399 | #undef FABS_TYPE |
| 400 | DEF_C23_BUILTIN (BUILT_IN_FABSD32, "fabsd32" , BT_FN_DFLOAT32_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 401 | DEF_C23_BUILTIN (BUILT_IN_FABSD64, "fabsd64" , BT_FN_DFLOAT64_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 402 | DEF_C23_BUILTIN (BUILT_IN_FABSD128, "fabsd128" , BT_FN_DFLOAT128_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 403 | DEF_C23_BUILTIN (BUILT_IN_FABSD64X, "fabsd64x" , BT_FN_DFLOAT64X_DFLOAT64X, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 404 | DEF_C99_BUILTIN (BUILT_IN_FDIM, "fdim" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 405 | DEF_C99_BUILTIN (BUILT_IN_FDIMF, "fdimf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 406 | DEF_C99_BUILTIN (BUILT_IN_FDIML, "fdiml" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 407 | #define FDIM_TYPE(F) BT_FN_##F##_##F##_##F |
| 408 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FDIM, "fdim" , FDIM_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 409 | #undef FDIM_TYPE |
| 410 | DEF_C99_BUILTIN (BUILT_IN_FECLEAREXCEPT, "feclearexcept" , BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) |
| 411 | DEF_C99_BUILTIN (BUILT_IN_FEGETENV, "fegetenv" , BT_FN_INT_FENV_T_PTR, ATTR_NOTHROW_LEAF_LIST) |
| 412 | DEF_C99_BUILTIN (BUILT_IN_FEGETEXCEPTFLAG, "fegetexceptflag" , BT_FN_INT_FEXCEPT_T_PTR_INT, ATTR_NOTHROW_LEAF_LIST) |
| 413 | DEF_C99_BUILTIN (BUILT_IN_FEGETROUND, "fegetround" , BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 414 | DEF_C99_BUILTIN (BUILT_IN_FEHOLDEXCEPT, "feholdexcept" , BT_FN_INT_FENV_T_PTR, ATTR_NOTHROW_LEAF_LIST) |
| 415 | DEF_C99_BUILTIN (BUILT_IN_FERAISEEXCEPT, "feraiseexcept" , BT_FN_INT_INT, ATTR_NULL) |
| 416 | DEF_C99_BUILTIN (BUILT_IN_FESETENV, "fesetenv" , BT_FN_INT_CONST_FENV_T_PTR, ATTR_NOTHROW_LEAF_LIST) |
| 417 | DEF_C99_BUILTIN (BUILT_IN_FESETEXCEPTFLAG, "fesetexceptflag" , BT_FN_INT_CONST_FEXCEPT_T_PTR_INT, ATTR_NULL) |
| 418 | DEF_C99_BUILTIN (BUILT_IN_FESETROUND, "fesetround" , BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) |
| 419 | DEF_C99_BUILTIN (BUILT_IN_FETESTEXCEPT, "fetestexcept" , BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) |
| 420 | DEF_C99_BUILTIN (BUILT_IN_FEUPDATEENV, "feupdateenv" , BT_FN_INT_CONST_FENV_T_PTR, ATTR_NULL) |
| 421 | DEF_LIB_BUILTIN (BUILT_IN_FLOOR, "floor" , BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 422 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FLOORF, "floorf" , BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 423 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FLOORL, "floorl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 424 | #define FLOOR_TYPE(F) BT_FN_##F##_##F |
| 425 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FLOOR, "floor" , FLOOR_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 426 | #undef FLOOR_TYPE |
| 427 | DEF_C99_BUILTIN (BUILT_IN_FMA, "fma" , BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 428 | DEF_C99_BUILTIN (BUILT_IN_FMAF, "fmaf" , BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 429 | DEF_C99_BUILTIN (BUILT_IN_FMAL, "fmal" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 430 | #define FMA_TYPE(F) BT_FN_##F##_##F##_##F##_##F |
| 431 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMA, "fma" , FMA_TYPE, ATTR_MATHFN_FPROUNDING) |
| 432 | #undef FMA_TYPE |
| 433 | DEF_C99_BUILTIN (BUILT_IN_FMAX, "fmax" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 434 | DEF_C99_BUILTIN (BUILT_IN_FMAXF, "fmaxf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 435 | DEF_C99_BUILTIN (BUILT_IN_FMAXL, "fmaxl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 436 | #define FMAX_TYPE(F) BT_FN_##F##_##F##_##F |
| 437 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMAX, "fmax" , FMAX_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 438 | #undef FMAX_TYPE |
| 439 | DEF_C99_BUILTIN (BUILT_IN_FMIN, "fmin" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 440 | DEF_C99_BUILTIN (BUILT_IN_FMINF, "fminf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 441 | DEF_C99_BUILTIN (BUILT_IN_FMINL, "fminl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 442 | #define FMIN_TYPE(F) BT_FN_##F##_##F##_##F |
| 443 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMIN, "fmin" , FMIN_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 444 | DEF_LIB_BUILTIN (BUILT_IN_FMOD, "fmod" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 445 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FMODF, "fmodf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 446 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FMODL, "fmodl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 447 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FMOD, "fmod" , FMIN_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 448 | #undef FMIN_TYPE |
| 449 | DEF_LIB_BUILTIN (BUILT_IN_FREXP, "frexp" , BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 450 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPF, "frexpf" , BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 451 | DEF_C99_C90RES_BUILTIN (BUILT_IN_FREXPL, "frexpl" , BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 452 | #define FREXP_TYPE(F) BT_FN_##F##_##F##_INTPTR |
| 453 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_FREXP, "frexp" , FREXP_TYPE, ATTR_MATHFN_FPROUNDING_STORE) |
| 454 | #undef FREXP_TYPE |
| 455 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMA, "gamma" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE) |
| 456 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAF, "gammaf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE) |
| 457 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAL, "gammal" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE) |
| 458 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMA_R, "gamma_r" , BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 459 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAF_R, "gammaf_r" , BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 460 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GAMMAL_R, "gammal_r" , BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 461 | DEF_GCC_BUILTIN (BUILT_IN_HUGE_VAL, "huge_val" , BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 462 | DEF_GCC_BUILTIN (BUILT_IN_HUGE_VALF, "huge_valf" , BT_FN_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 463 | DEF_GCC_BUILTIN (BUILT_IN_HUGE_VALL, "huge_vall" , BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 464 | #define HUGE_VAL_TYPE(F) BT_FN_##F |
| 465 | DEF_GCC_FLOATN_NX_BUILTINS (BUILT_IN_HUGE_VAL, "huge_val" , HUGE_VAL_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 466 | #undef HUGE_VAL_TYPE |
| 467 | DEF_C99_BUILTIN (BUILT_IN_HYPOT, "hypot" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 468 | DEF_C99_BUILTIN (BUILT_IN_HYPOTF, "hypotf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 469 | DEF_C99_BUILTIN (BUILT_IN_HYPOTL, "hypotl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 470 | #define HYPOT_TYPE(F) BT_FN_##F##_##F##_##F |
| 471 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_HYPOT, "hypot" , HYPOT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 472 | #undef HYPOT_TYPE |
| 473 | DEF_GCC_BUILTIN (BUILT_IN_ICEIL, "iceil" , BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 474 | DEF_GCC_BUILTIN (BUILT_IN_ICEILF, "iceilf" , BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 475 | DEF_GCC_BUILTIN (BUILT_IN_ICEILL, "iceill" , BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 476 | DEF_GCC_BUILTIN (BUILT_IN_IFLOOR, "ifloor" , BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 477 | DEF_GCC_BUILTIN (BUILT_IN_IFLOORF, "ifloorf" , BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 478 | DEF_GCC_BUILTIN (BUILT_IN_IFLOORL, "ifloorl" , BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 479 | DEF_C99_BUILTIN (BUILT_IN_ILOGB, "ilogb" , BT_FN_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 480 | DEF_C99_BUILTIN (BUILT_IN_ILOGBF, "ilogbf" , BT_FN_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 481 | DEF_C99_BUILTIN (BUILT_IN_ILOGBL, "ilogbl" , BT_FN_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 482 | #define ILOGB_TYPE(F) BT_FN_INT_##F |
| 483 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ILOGB, "ilogb" , ILOGB_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 484 | #undef ILOGB_TYPE |
| 485 | DEF_GCC_BUILTIN (BUILT_IN_INF, "inf" , BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 486 | DEF_GCC_BUILTIN (BUILT_IN_INFF, "inff" , BT_FN_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 487 | DEF_GCC_BUILTIN (BUILT_IN_INFL, "infl" , BT_FN_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 488 | #define INF_TYPE(F) BT_FN_##F |
| 489 | DEF_GCC_FLOATN_NX_BUILTINS (BUILT_IN_INF, "inf" , INF_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 490 | #undef INF_TYPE |
| 491 | DEF_GCC_BUILTIN (BUILT_IN_INFD32, "infd32" , BT_FN_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 492 | DEF_GCC_BUILTIN (BUILT_IN_INFD64, "infd64" , BT_FN_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 493 | DEF_GCC_BUILTIN (BUILT_IN_INFD128, "infd128" , BT_FN_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 494 | DEF_GCC_BUILTIN (BUILT_IN_INFD64X, "infd64x" , BT_FN_DFLOAT64X, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 495 | DEF_GCC_BUILTIN (BUILT_IN_IRINT, "irint" , BT_FN_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 496 | DEF_GCC_BUILTIN (BUILT_IN_IRINTF, "irintf" , BT_FN_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 497 | DEF_GCC_BUILTIN (BUILT_IN_IRINTL, "irintl" , BT_FN_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 498 | DEF_GCC_BUILTIN (BUILT_IN_IROUND, "iround" , BT_FN_INT_DOUBLE, ATTR_MATHFN_ERRNO) |
| 499 | DEF_GCC_BUILTIN (BUILT_IN_IROUNDF, "iroundf" , BT_FN_INT_FLOAT, ATTR_MATHFN_ERRNO) |
| 500 | DEF_GCC_BUILTIN (BUILT_IN_IROUNDL, "iroundl" , BT_FN_INT_LONGDOUBLE, ATTR_MATHFN_ERRNO) |
| 501 | DEF_EXT_LIB_BUILTIN (BUILT_IN_J0, "j0" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 502 | DEF_EXT_LIB_BUILTIN (BUILT_IN_J0F, "j0f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 503 | DEF_EXT_LIB_BUILTIN (BUILT_IN_J0L, "j0l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 504 | DEF_EXT_LIB_BUILTIN (BUILT_IN_J1, "j1" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 505 | DEF_EXT_LIB_BUILTIN (BUILT_IN_J1F, "j1f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 506 | DEF_EXT_LIB_BUILTIN (BUILT_IN_J1L, "j1l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 507 | DEF_EXT_LIB_BUILTIN (BUILT_IN_JN, "jn" , BT_FN_DOUBLE_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 508 | DEF_EXT_LIB_BUILTIN (BUILT_IN_JNF, "jnf" , BT_FN_FLOAT_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 509 | DEF_EXT_LIB_BUILTIN (BUILT_IN_JNL, "jnl" , BT_FN_LONGDOUBLE_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 510 | DEF_GCC_BUILTIN (BUILT_IN_LCEIL, "lceil" , BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 511 | DEF_GCC_BUILTIN (BUILT_IN_LCEILF, "lceilf" , BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 512 | DEF_GCC_BUILTIN (BUILT_IN_LCEILL, "lceill" , BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 513 | DEF_LIB_BUILTIN (BUILT_IN_LDEXP, "ldexp" , BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 514 | DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPF, "ldexpf" , BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 515 | DEF_C99_C90RES_BUILTIN (BUILT_IN_LDEXPL, "ldexpl" , BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 516 | #define LDEXP_TYPE(F) BT_FN_##F##_##F##_INT |
| 517 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LDEXP, "ldexp" , LDEXP_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 518 | #undef LDEXP_TYPE |
| 519 | DEF_GCC_BUILTIN (BUILT_IN_LFLOOR, "lfloor" , BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 520 | DEF_GCC_BUILTIN (BUILT_IN_LFLOORF, "lfloorf" , BT_FN_LONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 521 | DEF_GCC_BUILTIN (BUILT_IN_LFLOORL, "lfloorl" , BT_FN_LONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 522 | DEF_C99_BUILTIN (BUILT_IN_LGAMMA, "lgamma" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_STORE) |
| 523 | DEF_C99_BUILTIN (BUILT_IN_LGAMMAF, "lgammaf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_STORE) |
| 524 | DEF_C99_BUILTIN (BUILT_IN_LGAMMAL, "lgammal" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_STORE) |
| 525 | #define LGAMMA_TYPE(F) BT_FN_##F##_##F |
| 526 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LGAMMA, "lgamma" , LGAMMA_TYPE, ATTR_MATHFN_FPROUNDING_STORE) |
| 527 | #undef LGAMMA_TYPE |
| 528 | DEF_EXT_LIB_BUILTIN (BUILT_IN_LGAMMA_R, "lgamma_r" , BT_FN_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 529 | DEF_EXT_LIB_BUILTIN (BUILT_IN_LGAMMAF_R, "lgammaf_r" , BT_FN_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 530 | DEF_EXT_LIB_BUILTIN (BUILT_IN_LGAMMAL_R, "lgammal_r" , BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 531 | DEF_GCC_BUILTIN (BUILT_IN_LLCEIL, "llceil" , BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 532 | DEF_GCC_BUILTIN (BUILT_IN_LLCEILF, "llceilf" , BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 533 | DEF_GCC_BUILTIN (BUILT_IN_LLCEILL, "llceill" , BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 534 | DEF_GCC_BUILTIN (BUILT_IN_LLFLOOR, "llfloor" , BT_FN_LONGLONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 535 | DEF_GCC_BUILTIN (BUILT_IN_LLFLOORF, "llfloorf" , BT_FN_LONGLONG_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 536 | DEF_GCC_BUILTIN (BUILT_IN_LLFLOORL, "llfloorl" , BT_FN_LONGLONG_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 537 | DEF_C99_BUILTIN (BUILT_IN_LLRINT, "llrint" , BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 538 | DEF_C99_BUILTIN (BUILT_IN_LLRINTF, "llrintf" , BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 539 | DEF_C99_BUILTIN (BUILT_IN_LLRINTL, "llrintl" , BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 540 | #define LLRINT_TYPE(F) BT_FN_LONGLONG_##F |
| 541 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LLRINT, "llrint" , LLRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 542 | DEF_C99_BUILTIN (BUILT_IN_LLROUND, "llround" , BT_FN_LONGLONG_DOUBLE, ATTR_MATHFN_ERRNO) |
| 543 | DEF_C99_BUILTIN (BUILT_IN_LLROUNDF, "llroundf" , BT_FN_LONGLONG_FLOAT, ATTR_MATHFN_ERRNO) |
| 544 | DEF_C99_BUILTIN (BUILT_IN_LLROUNDL, "llroundl" , BT_FN_LONGLONG_LONGDOUBLE, ATTR_MATHFN_ERRNO) |
| 545 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LLROUND, "llround" , LLRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 546 | #undef LLRINT_TYPE |
| 547 | DEF_LIB_BUILTIN (BUILT_IN_LOG, "log" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 548 | DEF_LIB_BUILTIN (BUILT_IN_LOG10, "log10" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 549 | DEF_C99_C90RES_BUILTIN (BUILT_IN_LOG10F, "log10f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 550 | DEF_C99_C90RES_BUILTIN (BUILT_IN_LOG10L, "log10l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 551 | #define LOG10_TYPE(F) BT_FN_##F##_##F |
| 552 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG10, "log10" , LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 553 | DEF_C99_BUILTIN (BUILT_IN_LOG1P, "log1p" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 554 | DEF_C99_BUILTIN (BUILT_IN_LOG1PF, "log1pf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 555 | DEF_C99_BUILTIN (BUILT_IN_LOG1PL, "log1pl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 556 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG1P, "log1p" , LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 557 | DEF_C99_BUILTIN (BUILT_IN_LOG2, "log2" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 558 | DEF_C99_BUILTIN (BUILT_IN_LOG2F, "log2f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 559 | DEF_C99_BUILTIN (BUILT_IN_LOG2L, "log2l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 560 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG2, "log2" , LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 561 | DEF_C99_BUILTIN (BUILT_IN_LOGB, "logb" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 562 | DEF_C99_BUILTIN (BUILT_IN_LOGBF, "logbf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 563 | DEF_C99_BUILTIN (BUILT_IN_LOGBL, "logbl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 564 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOGB, "logb" , LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 565 | DEF_C99_C90RES_BUILTIN (BUILT_IN_LOGF, "logf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 566 | DEF_C99_C90RES_BUILTIN (BUILT_IN_LOGL, "logl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 567 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LOG, "log" , LOG10_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 568 | #undef LOG10_TYPE |
| 569 | DEF_C99_BUILTIN (BUILT_IN_LRINT, "lrint" , BT_FN_LONG_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 570 | DEF_C99_BUILTIN (BUILT_IN_LRINTF, "lrintf" , BT_FN_LONG_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 571 | DEF_C99_BUILTIN (BUILT_IN_LRINTL, "lrintl" , BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 572 | #define LRINT_TYPE(F) BT_FN_LONG_##F |
| 573 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LRINT, "lrint" , LRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 574 | DEF_C99_BUILTIN (BUILT_IN_LROUND, "lround" , BT_FN_LONG_DOUBLE, ATTR_MATHFN_ERRNO) |
| 575 | DEF_C99_BUILTIN (BUILT_IN_LROUNDF, "lroundf" , BT_FN_LONG_FLOAT, ATTR_MATHFN_ERRNO) |
| 576 | DEF_C99_BUILTIN (BUILT_IN_LROUNDL, "lroundl" , BT_FN_LONG_LONGDOUBLE, ATTR_MATHFN_ERRNO) |
| 577 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_LROUND, "lround" , LRINT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 578 | #undef LRINT_TYPE |
| 579 | DEF_LIB_BUILTIN (BUILT_IN_MODF, "modf" , BT_FN_DOUBLE_DOUBLE_DOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 580 | DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFF, "modff" , BT_FN_FLOAT_FLOAT_FLOATPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 581 | DEF_C99_C90RES_BUILTIN (BUILT_IN_MODFL, "modfl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 582 | #define MODF_TYPE(F) BT_FN_##F##_##F##_##F##PTR |
| 583 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_MODF, "modf" , MODF_TYPE, ATTR_MATHFN_FPROUNDING_STORE) |
| 584 | #undef MODF_TYPE |
| 585 | DEF_C99_BUILTIN (BUILT_IN_NAN, "nan" , BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 586 | DEF_C99_BUILTIN (BUILT_IN_NANF, "nanf" , BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 587 | DEF_C99_BUILTIN (BUILT_IN_NANL, "nanl" , BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 588 | #define NAN_TYPE(F) BT_FN_##F##_CONST_STRING |
| 589 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_NAN, "nan" , NAN_TYPE, ATTR_CONST_NOTHROW_NONNULL) |
| 590 | DEF_C23_BUILTIN (BUILT_IN_NAND32, "nand32" , BT_FN_DFLOAT32_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 591 | DEF_C23_BUILTIN (BUILT_IN_NAND64, "nand64" , BT_FN_DFLOAT64_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 592 | DEF_C23_BUILTIN (BUILT_IN_NAND128, "nand128" , BT_FN_DFLOAT128_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 593 | DEF_C23_BUILTIN (BUILT_IN_NAND64X, "nand64x" , BT_FN_DFLOAT64X_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 594 | DEF_GCC_BUILTIN (BUILT_IN_NANS, "nans" , BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 595 | DEF_GCC_BUILTIN (BUILT_IN_NANSF, "nansf" , BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 596 | DEF_GCC_BUILTIN (BUILT_IN_NANSL, "nansl" , BT_FN_LONGDOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 597 | DEF_GCC_FLOATN_NX_BUILTINS (BUILT_IN_NANS, "nans" , NAN_TYPE, ATTR_CONST_NOTHROW_NONNULL) |
| 598 | #undef NAN_TYPE |
| 599 | DEF_GCC_BUILTIN (BUILT_IN_NANSF16B, "nansf16b" , BT_FN_BFLOAT16_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 600 | DEF_GCC_BUILTIN (BUILT_IN_NANSD32, "nansd32" , BT_FN_DFLOAT32_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 601 | DEF_GCC_BUILTIN (BUILT_IN_NANSD64, "nansd64" , BT_FN_DFLOAT64_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 602 | DEF_GCC_BUILTIN (BUILT_IN_NANSD128, "nansd128" , BT_FN_DFLOAT128_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 603 | DEF_GCC_BUILTIN (BUILT_IN_NANSD64X, "nansd64x" , BT_FN_DFLOAT64X_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL) |
| 604 | DEF_C99_BUILTIN (BUILT_IN_NEARBYINT, "nearbyint" , BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 605 | DEF_C99_BUILTIN (BUILT_IN_NEARBYINTF, "nearbyintf" , BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 606 | DEF_C99_BUILTIN (BUILT_IN_NEARBYINTL, "nearbyintl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 607 | #define NEARBYINT_TYPE(F) BT_FN_##F##_##F |
| 608 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_NEARBYINT, "nearbyint" , NEARBYINT_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 609 | #undef NEARBYINT_TYPE |
| 610 | DEF_C99_BUILTIN (BUILT_IN_NEXTAFTER, "nextafter" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_ERRNO) |
| 611 | DEF_C99_BUILTIN (BUILT_IN_NEXTAFTERF, "nextafterf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_ERRNO) |
| 612 | DEF_C99_BUILTIN (BUILT_IN_NEXTAFTERL, "nextafterl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_ERRNO) |
| 613 | #define NEXTAFTER_TYPE(F) BT_FN_##F##_##F##_##F |
| 614 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_NEXTAFTER, "nextafter" , NEXTAFTER_TYPE, ATTR_MATHFN_ERRNO) |
| 615 | DEF_GCC_BUILTIN (BUILT_IN_NEXTAFTERF16B, "nextafterf16b" , BT_FN_BFLOAT16_BFLOAT16_BFLOAT16, ATTR_MATHFN_ERRNO) |
| 616 | DEF_C99_BUILTIN (BUILT_IN_NEXTTOWARD, "nexttoward" , BT_FN_DOUBLE_DOUBLE_LONGDOUBLE, ATTR_MATHFN_ERRNO) |
| 617 | DEF_C99_BUILTIN (BUILT_IN_NEXTTOWARDF, "nexttowardf" , BT_FN_FLOAT_FLOAT_LONGDOUBLE, ATTR_MATHFN_ERRNO) |
| 618 | DEF_C99_BUILTIN (BUILT_IN_NEXTTOWARDL, "nexttowardl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_ERRNO) |
| 619 | DEF_LIB_BUILTIN (BUILT_IN_POW, "pow" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 620 | DEF_EXT_LIB_BUILTIN (BUILT_IN_POW10, "pow10" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 621 | DEF_EXT_LIB_BUILTIN (BUILT_IN_POW10F, "pow10f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 622 | DEF_EXT_LIB_BUILTIN (BUILT_IN_POW10L, "pow10l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 623 | DEF_C99_C90RES_BUILTIN (BUILT_IN_POWF, "powf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 624 | DEF_GCC_BUILTIN (BUILT_IN_POWI, "powi" , BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING) |
| 625 | DEF_GCC_BUILTIN (BUILT_IN_POWIF, "powif" , BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING) |
| 626 | DEF_GCC_BUILTIN (BUILT_IN_POWIL, "powil" , BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING) |
| 627 | DEF_C99_C90RES_BUILTIN (BUILT_IN_POWL, "powl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 628 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_POW, "pow" , NEXTAFTER_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 629 | DEF_C99_BUILTIN (BUILT_IN_REMAINDER, "remainder" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 630 | DEF_C99_BUILTIN (BUILT_IN_REMAINDERF, "remainderf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 631 | DEF_C99_BUILTIN (BUILT_IN_REMAINDERL, "remainderl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 632 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_REMAINDER, "remainder" , NEXTAFTER_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 633 | #undef NEXTAFTER_TYPE |
| 634 | DEF_C99_BUILTIN (BUILT_IN_REMQUO, "remquo" , BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 635 | DEF_C99_BUILTIN (BUILT_IN_REMQUOF, "remquof" , BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 636 | DEF_C99_BUILTIN (BUILT_IN_REMQUOL, "remquol" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 637 | #define REMQUO_TYPE(F) BT_FN_##F##_##F##_##F##_INTPTR |
| 638 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_REMQUO, "remquo" , REMQUO_TYPE, ATTR_MATHFN_FPROUNDING_STORE) |
| 639 | #undef REMQUO_TYPE |
| 640 | DEF_C99_BUILTIN (BUILT_IN_RINT, "rint" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 641 | DEF_C99_BUILTIN (BUILT_IN_RINTF, "rintf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 642 | DEF_C99_BUILTIN (BUILT_IN_RINTL, "rintl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 643 | #define RINT_TYPE(F) BT_FN_##F##_##F |
| 644 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_RINT, "rint" , RINT_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 645 | #undef RINT_TYPE |
| 646 | DEF_C23_BUILTIN (BUILT_IN_ROUNDEVEN, "roundeven" , BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 647 | DEF_C23_BUILTIN (BUILT_IN_ROUNDEVENF, "roundevenf" , BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 648 | DEF_C23_BUILTIN (BUILT_IN_ROUNDEVENL, "roundevenl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 649 | DEF_C99_BUILTIN (BUILT_IN_ROUND, "round" , BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 650 | DEF_C99_BUILTIN (BUILT_IN_ROUNDF, "roundf" , BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 651 | DEF_C99_BUILTIN (BUILT_IN_ROUNDL, "roundl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 652 | #define ROUND_TYPE(F) BT_FN_##F##_##F |
| 653 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ROUND, "round" , ROUND_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 654 | #undef ROUND_TYPE |
| 655 | #define ROUNDEVEN_TYPE(F) BT_FN_##F##_##F |
| 656 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ROUNDEVEN, "roundeven" , ROUNDEVEN_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 657 | #undef ROUNDEVEN_TYPE |
| 658 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SCALB, "scalb" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 659 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SCALBF, "scalbf" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 660 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SCALBL, "scalbl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 661 | DEF_C99_BUILTIN (BUILT_IN_SCALBLN, "scalbln" , BT_FN_DOUBLE_DOUBLE_LONG, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 662 | DEF_C99_BUILTIN (BUILT_IN_SCALBLNF, "scalblnf" , BT_FN_FLOAT_FLOAT_LONG, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 663 | DEF_C99_BUILTIN (BUILT_IN_SCALBLNL, "scalblnl" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONG, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 664 | #define SCALBLN_TYPE(F) BT_FN_##F##_##F##_LONG |
| 665 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SCALBLN, "scalbln" , SCALBLN_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 666 | #undef SCALBLN_TYPE |
| 667 | DEF_C99_BUILTIN (BUILT_IN_SCALBN, "scalbn" , BT_FN_DOUBLE_DOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 668 | DEF_C99_BUILTIN (BUILT_IN_SCALBNF, "scalbnf" , BT_FN_FLOAT_FLOAT_INT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 669 | DEF_C99_BUILTIN (BUILT_IN_SCALBNL, "scalbnl" , BT_FN_LONGDOUBLE_LONGDOUBLE_INT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 670 | #define SCALBN_TYPE(F) BT_FN_##F##_##F##_INT |
| 671 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SCALBN, "scalbn" , SCALBN_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 672 | #undef SCALBN_TYPE |
| 673 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBIT, "signbit" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 674 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITF, "signbitf" , BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 675 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITL, "signbitl" , BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 676 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITD32, "signbitd32" , BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 677 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITD64, "signbitd64" , BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 678 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNBITD128, "signbitd128" , BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 679 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNIFICAND, "significand" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 680 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNIFICANDF, "significandf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 681 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SIGNIFICANDL, "significandl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 682 | DEF_LIB_BUILTIN (BUILT_IN_SIN, "sin" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 683 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SINCOS, "sincos" , BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 684 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SINCOSF, "sincosf" , BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 685 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SINCOSL, "sincosl" , BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR, ATTR_MATHFN_FPROUNDING_STORE) |
| 686 | DEF_C99_C90RES_BUILTIN (BUILT_IN_SINF, "sinf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 687 | DEF_LIB_BUILTIN (BUILT_IN_SINH, "sinh" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 688 | DEF_C99_C90RES_BUILTIN (BUILT_IN_SINHF, "sinhf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 689 | DEF_C99_C90RES_BUILTIN (BUILT_IN_SINHL, "sinhl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 690 | #define SINH_TYPE(F) BT_FN_##F##_##F |
| 691 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SINH, "sinh" , SINH_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 692 | DEF_C99_C90RES_BUILTIN (BUILT_IN_SINL, "sinl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 693 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SIN, "sin" , SINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 694 | #undef SINH_TYPE |
| 695 | DEF_LIB_BUILTIN (BUILT_IN_SQRT, "sqrt" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 696 | DEF_C99_C90RES_BUILTIN (BUILT_IN_SQRTF, "sqrtf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 697 | DEF_C99_C90RES_BUILTIN (BUILT_IN_SQRTL, "sqrtl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 698 | #define SQRT_TYPE(F) BT_FN_##F##_##F |
| 699 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SQRT, "sqrt" , SQRT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 700 | DEF_LIB_BUILTIN (BUILT_IN_TAN, "tan" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 701 | DEF_C99_C90RES_BUILTIN (BUILT_IN_TANF, "tanf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 702 | DEF_LIB_BUILTIN (BUILT_IN_TANH, "tanh" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 703 | DEF_C99_C90RES_BUILTIN (BUILT_IN_TANHF, "tanhf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 704 | DEF_C99_C90RES_BUILTIN (BUILT_IN_TANHL, "tanhl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 705 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TANH, "tanh" , SQRT_TYPE, ATTR_MATHFN_FPROUNDING) |
| 706 | DEF_C99_C90RES_BUILTIN (BUILT_IN_TANL, "tanl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 707 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TAN, "tan" , SQRT_TYPE, ATTR_MATHFN_FPROUNDING) |
| 708 | DEF_C99_BUILTIN (BUILT_IN_TGAMMA, "tgamma" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 709 | DEF_C99_BUILTIN (BUILT_IN_TGAMMAF, "tgammaf" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 710 | DEF_C99_BUILTIN (BUILT_IN_TGAMMAL, "tgammal" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 711 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TGAMMA, "tgamma" , SQRT_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 712 | #undef SQRT_TYPE |
| 713 | DEF_C99_BUILTIN (BUILT_IN_TRUNC, "trunc" , BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 714 | DEF_C99_BUILTIN (BUILT_IN_TRUNCF, "truncf" , BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 715 | DEF_C99_BUILTIN (BUILT_IN_TRUNCL, "truncl" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 716 | #define TRUNC_TYPE(F) BT_FN_##F##_##F |
| 717 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TRUNC, "trunc" , TRUNC_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 718 | #undef TRUNC_TYPE |
| 719 | DEF_EXT_LIB_BUILTIN (BUILT_IN_Y0, "y0" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 720 | DEF_EXT_LIB_BUILTIN (BUILT_IN_Y0F, "y0f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 721 | DEF_EXT_LIB_BUILTIN (BUILT_IN_Y0L, "y0l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 722 | DEF_EXT_LIB_BUILTIN (BUILT_IN_Y1, "y1" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 723 | DEF_EXT_LIB_BUILTIN (BUILT_IN_Y1F, "y1f" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 724 | DEF_EXT_LIB_BUILTIN (BUILT_IN_Y1L, "y1l" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 725 | DEF_EXT_LIB_BUILTIN (BUILT_IN_YN, "yn" , BT_FN_DOUBLE_INT_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 726 | DEF_EXT_LIB_BUILTIN (BUILT_IN_YNF, "ynf" , BT_FN_FLOAT_INT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 727 | DEF_EXT_LIB_BUILTIN (BUILT_IN_YNL, "ynl" , BT_FN_LONGDOUBLE_INT_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 728 | DEF_GCC_BUILTIN (BUILT_IN_CRC8_DATA8, "crc8_data8" , BT_FN_UINT8_UINT8_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 729 | DEF_GCC_BUILTIN (BUILT_IN_CRC16_DATA8, "crc16_data8" , BT_FN_UINT16_UINT16_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 730 | DEF_GCC_BUILTIN (BUILT_IN_CRC16_DATA16, "crc16_data16" , BT_FN_UINT16_UINT16_UINT16_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 731 | DEF_GCC_BUILTIN (BUILT_IN_CRC32_DATA8, "crc32_data8" , BT_FN_UINT32_UINT32_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 732 | DEF_GCC_BUILTIN (BUILT_IN_CRC32_DATA16, "crc32_data16" , BT_FN_UINT32_UINT32_UINT16_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 733 | DEF_GCC_BUILTIN (BUILT_IN_CRC32_DATA32, "crc32_data32" , BT_FN_UINT32_UINT32_UINT32_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 734 | DEF_GCC_BUILTIN (BUILT_IN_CRC64_DATA8, "crc64_data8" , BT_FN_UINT64_UINT64_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 735 | DEF_GCC_BUILTIN (BUILT_IN_CRC64_DATA16, "crc64_data16" , BT_FN_UINT64_UINT64_UINT16_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 736 | DEF_GCC_BUILTIN (BUILT_IN_CRC64_DATA32, "crc64_data32" , BT_FN_UINT64_UINT64_UINT32_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 737 | DEF_GCC_BUILTIN (BUILT_IN_CRC64_DATA64, "crc64_data64" , BT_FN_UINT64_UINT64_UINT64_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 738 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC8_DATA8, "rev_crc8_data8" , BT_FN_UINT8_UINT8_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 739 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC16_DATA8, "rev_crc16_data8" , BT_FN_UINT16_UINT16_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 740 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC16_DATA16, "rev_crc16_data16" , BT_FN_UINT16_UINT16_UINT16_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 741 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC32_DATA8, "rev_crc32_data8" , BT_FN_UINT32_UINT32_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 742 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC32_DATA16, "rev_crc32_data16" , BT_FN_UINT32_UINT32_UINT16_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 743 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC32_DATA32, "rev_crc32_data32" , BT_FN_UINT32_UINT32_UINT32_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 744 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC64_DATA8, "rev_crc64_data8" , BT_FN_UINT64_UINT64_UINT8_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 745 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC64_DATA16, "rev_crc64_data16" , BT_FN_UINT64_UINT64_UINT16_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 746 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC64_DATA32, "rev_crc64_data32" , BT_FN_UINT64_UINT64_UINT32_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 747 | DEF_GCC_BUILTIN (BUILT_IN_REV_CRC64_DATA64, "rev_crc64_data64" , BT_FN_UINT64_UINT64_UINT64_CONST_SIZE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 748 | /* Category: _Complex math builtins. */ |
| 749 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CABS, "cabs" , BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 750 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CABSF, "cabsf" , BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 751 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CABSL, "cabsl" , BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 752 | #define CABS_TYPE(F) BT_FN_##F##_COMPLEX_##F |
| 753 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CABS, "cabs" , CABS_TYPE, ATTR_MATHFN_FPROUNDING) |
| 754 | #undef CABS_TYPE |
| 755 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOS, "cacos" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 756 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSF, "cacosf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 757 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSH, "cacosh" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 758 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSHF, "cacoshf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 759 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSHL, "cacoshl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 760 | #define CACOSH_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F |
| 761 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CACOSH, "cacosh" , CACOSH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 762 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CACOSL, "cacosl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 763 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CACOS, "cacos" , CACOSH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 764 | #undef CACOSH_TYPE |
| 765 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CARG, "carg" , BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 766 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CARGF, "cargf" , BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 767 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CARGL, "cargl" , BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 768 | #define CARG_TYPE(F) BT_FN_##F##_COMPLEX_##F |
| 769 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CARG, "carg" , CARG_TYPE, ATTR_MATHFN_FPROUNDING) |
| 770 | #undef CARG_TYPE |
| 771 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CASIN, "casin" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 772 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINF, "casinf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 773 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINH, "casinh" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 774 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINHF, "casinhf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 775 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINHL, "casinhl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 776 | #define CASINH_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F |
| 777 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CASINH, "casinh" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 778 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CASINL, "casinl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 779 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CASIN, "casin" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 780 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CATAN, "catan" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 781 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANF, "catanf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 782 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANH, "catanh" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 783 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANHF, "catanhf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 784 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANHL, "catanhl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 785 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CATANH, "catanh" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 786 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CATANL, "catanl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 787 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CATAN, "catan" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 788 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOS, "ccos" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 789 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSF, "ccosf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 790 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSH, "ccosh" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 791 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSHF, "ccoshf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 792 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSHL, "ccoshl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 793 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CCOSH, "ccosh" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 794 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CCOSL, "ccosl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 795 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CCOS, "ccos" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 796 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CEXP, "cexp" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 797 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CEXPF, "cexpf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 798 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CEXPL, "cexpl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 799 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CEXP, "cexp" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 800 | DEF_GCC_BUILTIN (BUILT_IN_CEXPI, "cexpi" , BT_FN_COMPLEX_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 801 | DEF_GCC_BUILTIN (BUILT_IN_CEXPIF, "cexpif" , BT_FN_COMPLEX_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 802 | DEF_GCC_BUILTIN (BUILT_IN_CEXPIL, "cexpil" , BT_FN_COMPLEX_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 803 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CIMAG, "cimag" , BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 804 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CIMAGF, "cimagf" , BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 805 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CIMAGL, "cimagl" , BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 806 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CLOG, "clog" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 807 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CLOGF, "clogf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 808 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CLOGL, "clogl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 809 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CLOG, "clog" , CASINH_TYPE, ATTR_MATHFN_FPROUNDING) |
| 810 | #undef CASINH_TYPE |
| 811 | DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10, "clog10" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 812 | DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10F, "clog10f" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 813 | DEF_EXT_C99RES_BUILTIN (BUILT_IN_CLOG10L, "clog10l" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 814 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CONJ, "conj" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 815 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CONJF, "conjf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 816 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CONJL, "conjl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 817 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CPOW, "cpow" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 818 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CPOWF, "cpowf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 819 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CPOWL, "cpowl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 820 | #define CPOW_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F##_COMPLEX_##F |
| 821 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CPOW, "cpow" , CPOW_TYPE, ATTR_MATHFN_FPROUNDING) |
| 822 | #undef CPOW_TYPE |
| 823 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CPROJ, "cproj" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 824 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CPROJF, "cprojf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 825 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CPROJL, "cprojl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 826 | #define CPROJ_TYPE(F) BT_FN_COMPLEX_##F##_COMPLEX_##F |
| 827 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CPROJ, "cproj" , CPROJ_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 828 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CREAL, "creal" , BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 829 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CREALF, "crealf" , BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 830 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CREALL, "creall" , BT_FN_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 831 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSIN, "csin" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 832 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINF, "csinf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 833 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINH, "csinh" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 834 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINHF, "csinhf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 835 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINHL, "csinhl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 836 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CSINH, "csinh" , CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) |
| 837 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSINL, "csinl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 838 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CSIN, "csin" , CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) |
| 839 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSQRT, "csqrt" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 840 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSQRTF, "csqrtf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 841 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CSQRTL, "csqrtl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 842 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CSQRT, "csqrt" , CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) |
| 843 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CTAN, "ctan" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 844 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANF, "ctanf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 845 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANH, "ctanh" , BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_MATHFN_FPROUNDING) |
| 846 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANHF, "ctanhf" , BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_MATHFN_FPROUNDING) |
| 847 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANHL, "ctanhl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 848 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CTANH, "ctanh" , CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) |
| 849 | DEF_C99_COMPL_BUILTIN (BUILT_IN_CTANL, "ctanl" , BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE, ATTR_MATHFN_FPROUNDING) |
| 850 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_CTAN, "ctan" , CPROJ_TYPE, ATTR_MATHFN_FPROUNDING) |
| 851 | #undef CPROJ_TYPE |
| 852 | #define TRIG_TYPE(F) BT_FN_##F##_##F |
| 853 | DEF_C23_BUILTIN (BUILT_IN_ACOSPI, "acospi" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 854 | DEF_C23_BUILTIN (BUILT_IN_ACOSPIF, "acospif" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 855 | DEF_C23_BUILTIN (BUILT_IN_ACOSPIL, "acospil" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 856 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ACOSPI, "acospi" , TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 857 | DEF_C23_BUILTIN (BUILT_IN_ASINPI, "asinpi" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 858 | DEF_C23_BUILTIN (BUILT_IN_ASINPIF, "asinpif" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 859 | DEF_C23_BUILTIN (BUILT_IN_ASINPIL, "asinpil" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 860 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ASINPI, "asinpi" , TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 861 | DEF_C23_BUILTIN (BUILT_IN_ATANPI, "atanpi" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 862 | DEF_C23_BUILTIN (BUILT_IN_ATANPIF, "atanpif" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 863 | DEF_C23_BUILTIN (BUILT_IN_ATANPIL, "atanpil" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 864 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATANPI, "atanpi" , TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 865 | DEF_C23_BUILTIN (BUILT_IN_COSPI, "cospi" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 866 | DEF_C23_BUILTIN (BUILT_IN_COSPIF, "cospif" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 867 | DEF_C23_BUILTIN (BUILT_IN_COSPIL, "cospil" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 868 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_COSPI, "cospi" , TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 869 | DEF_C23_BUILTIN (BUILT_IN_SINPI, "sinpi" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 870 | DEF_C23_BUILTIN (BUILT_IN_SINPIF, "sinpif" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 871 | DEF_C23_BUILTIN (BUILT_IN_SINPIL, "sinpil" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 872 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_SINPI, "sinpi" , TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 873 | DEF_C23_BUILTIN (BUILT_IN_TANPI, "tanpi" , BT_FN_DOUBLE_DOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 874 | DEF_C23_BUILTIN (BUILT_IN_TANPIF, "tanpif" , BT_FN_FLOAT_FLOAT, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 875 | DEF_C23_BUILTIN (BUILT_IN_TANPIL, "tanpil" , BT_FN_LONGDOUBLE_LONGDOUBLE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 876 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_TANPI, "tanpi" , TRIG_TYPE, ATTR_MATHFN_FPROUNDING_ERRNO) |
| 877 | #undef TRIG_TYPE |
| 878 | #define TRIG2_TYPE(F) BT_FN_##F##_##F##_##F |
| 879 | DEF_C23_BUILTIN (BUILT_IN_ATAN2PI, "atan2pi" , BT_FN_DOUBLE_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 880 | DEF_C23_BUILTIN (BUILT_IN_ATAN2PIF, "atan2pif" , BT_FN_FLOAT_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 881 | DEF_C23_BUILTIN (BUILT_IN_ATAN2PIL, "atan2pil" , BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 882 | DEF_EXT_LIB_FLOATN_NX_BUILTINS (BUILT_IN_ATAN2PI, "atan2pi" , TRIG2_TYPE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 883 | #undef TRIG2_TYPE |
| 884 | |
| 885 | /* Category: string/memory builtins. */ |
| 886 | DEF_EXT_LIB_BUILTIN (BUILT_IN_BCMP, "bcmp" , BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, ATTR_PURE_NOTHROW_NONNULL_IF123_LEAF) |
| 887 | DEF_EXT_LIB_BUILTIN (BUILT_IN_BCOPY, "bcopy" , BT_FN_VOID_CONST_PTR_PTR_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 888 | DEF_EXT_LIB_BUILTIN (BUILT_IN_BZERO, "bzero" , BT_FN_VOID_PTR_SIZE, ATTR_NOTHROW_NONNULL_IF12_LEAF) |
| 889 | DEF_EXT_LIB_BUILTIN (BUILT_IN_INDEX, "index" , BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 890 | DEF_LIB_BUILTIN (BUILT_IN_MEMCHR, "memchr" , BT_FN_PTR_CONST_PTR_INT_SIZE, ATTR_PURE_NOTHROW_NONNULL_IF13_LEAF) |
| 891 | DEF_LIB_BUILTIN (BUILT_IN_MEMCMP, "memcmp" , BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, ATTR_PURE_NOTHROW_NONNULL_IF123_LEAF) |
| 892 | DEF_LIB_BUILTIN (BUILT_IN_MEMCPY, "memcpy" , BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 893 | DEF_LIB_BUILTIN (BUILT_IN_MEMMOVE, "memmove" , BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 894 | DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMPCPY, "mempcpy" , BT_FN_PTR_PTR_CONST_PTR_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 895 | DEF_LIB_BUILTIN (BUILT_IN_MEMSET, "memset" , BT_FN_PTR_PTR_INT_SIZE, ATTR_NOTHROW_NONNULL_IF13_LEAF) |
| 896 | DEF_EXT_LIB_BUILTIN (BUILT_IN_RINDEX, "rindex" , BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 897 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STPCPY, "stpcpy" , BT_FN_STRING_STRING_CONST_STRING, ATTR_RETNONNULL_NOTHROW_LEAF) |
| 898 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STPNCPY, "stpncpy" , BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 899 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRCASECMP, "strcasecmp" , BT_FN_INT_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 900 | DEF_LIB_BUILTIN (BUILT_IN_STRCAT, "strcat" , BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_LEAF) |
| 901 | DEF_LIB_BUILTIN (BUILT_IN_STRCHR, "strchr" , BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 902 | DEF_LIB_BUILTIN (BUILT_IN_STRCMP, "strcmp" , BT_FN_INT_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 903 | DEF_LIB_BUILTIN (BUILT_IN_STRCPY, "strcpy" , BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_LEAF) |
| 904 | DEF_LIB_BUILTIN (BUILT_IN_STRCSPN, "strcspn" , BT_FN_SIZE_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 905 | DEF_C23_BUILTIN (BUILT_IN_STRDUP, "strdup" , BT_FN_STRING_CONST_STRING, ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_LEAF) |
| 906 | DEF_C23_BUILTIN (BUILT_IN_STRNDUP, "strndup" , BT_FN_STRING_CONST_STRING_SIZE, ATTR_MALLOC_WARN_UNUSED_RESULT_NOTHROW_NONNULL_IF12_LEAF) |
| 907 | DEF_LIB_BUILTIN (BUILT_IN_STRLEN, "strlen" , BT_FN_SIZE_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 908 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNCASECMP, "strncasecmp" , BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_IF123_LEAF) |
| 909 | DEF_LIB_BUILTIN (BUILT_IN_STRNCAT, "strncat" , BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_1_IF23_LEAF) |
| 910 | DEF_LIB_BUILTIN (BUILT_IN_STRNCMP, "strncmp" , BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_IF123_LEAF) |
| 911 | DEF_LIB_BUILTIN (BUILT_IN_STRNCPY, "strncpy" , BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 912 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNLEN, "strnlen" , BT_FN_SIZE_CONST_STRING_SIZE, ATTR_PURE_NOTHROW_NONNULL_IF12_LEAF) |
| 913 | DEF_LIB_BUILTIN (BUILT_IN_STRPBRK, "strpbrk" , BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 914 | DEF_LIB_BUILTIN (BUILT_IN_STRRCHR, "strrchr" , BT_FN_STRING_CONST_STRING_INT, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 915 | DEF_LIB_BUILTIN (BUILT_IN_STRSPN, "strspn" , BT_FN_SIZE_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 916 | DEF_LIB_BUILTIN (BUILT_IN_STRSTR, "strstr" , BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_PURE_NOTHROW_NONNULL_LEAF) |
| 917 | |
| 918 | /* Category: stdio builtins. */ |
| 919 | DEF_LIB_BUILTIN (BUILT_IN_FPRINTF, "fprintf" , BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_2_3) |
| 920 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FPRINTF_UNLOCKED, "fprintf_unlocked" , BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_2_3) |
| 921 | DEF_LIB_BUILTIN (BUILT_IN_PUTC, "putc" , BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) |
| 922 | DEF_EXT_LIB_BUILTIN (BUILT_IN_PUTC_UNLOCKED, "putc_unlocked" , BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) |
| 923 | DEF_LIB_BUILTIN (BUILT_IN_FPUTC, "fputc" , BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) |
| 924 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FPUTC_UNLOCKED, "fputc_unlocked" , BT_FN_INT_INT_FILEPTR, ATTR_NONNULL_LIST) |
| 925 | DEF_LIB_BUILTIN (BUILT_IN_FPUTS, "fputs" , BT_FN_INT_CONST_STRING_FILEPTR, ATTR_NONNULL_LIST) |
| 926 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FPUTS_UNLOCKED, "fputs_unlocked" , BT_FN_INT_CONST_STRING_FILEPTR, ATTR_NONNULL_LIST) |
| 927 | DEF_LIB_BUILTIN (BUILT_IN_FSCANF, "fscanf" , BT_FN_INT_FILEPTR_CONST_STRING_VAR, ATTR_FORMAT_SCANF_2_3) |
| 928 | DEF_LIB_BUILTIN (BUILT_IN_FWRITE, "fwrite" , BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, ATTR_NONNULL_4_IF123_LIST) |
| 929 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FWRITE_UNLOCKED, "fwrite_unlocked" , BT_FN_SIZE_CONST_PTR_SIZE_SIZE_FILEPTR, ATTR_NONNULL_4_IF123_LIST) |
| 930 | DEF_LIB_BUILTIN (BUILT_IN_PRINTF, "printf" , BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_1_2) |
| 931 | DEF_EXT_LIB_BUILTIN (BUILT_IN_PRINTF_UNLOCKED, "printf_unlocked" , BT_FN_INT_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_1_2) |
| 932 | DEF_LIB_BUILTIN (BUILT_IN_PUTCHAR, "putchar" , BT_FN_INT_INT, ATTR_NULL) |
| 933 | DEF_EXT_LIB_BUILTIN (BUILT_IN_PUTCHAR_UNLOCKED, "putchar_unlocked" , BT_FN_INT_INT, ATTR_NULL) |
| 934 | DEF_LIB_BUILTIN (BUILT_IN_PUTS, "puts" , BT_FN_INT_CONST_STRING, ATTR_NONNULL_LIST) |
| 935 | DEF_EXT_LIB_BUILTIN (BUILT_IN_PUTS_UNLOCKED, "puts_unlocked" , BT_FN_INT_CONST_STRING, ATTR_NONNULL_LIST) |
| 936 | DEF_LIB_BUILTIN (BUILT_IN_SCANF, "scanf" , BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_SCANF_1_2) |
| 937 | DEF_C99_BUILTIN (BUILT_IN_SNPRINTF, "snprintf" , BT_FN_INT_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_3_4) |
| 938 | |
| 939 | DEF_LIB_BUILTIN (BUILT_IN_SPRINTF, "sprintf" , BT_FN_INT_STRING_CONST_STRING_VAR, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_2_3) |
| 940 | DEF_LIB_BUILTIN (BUILT_IN_SSCANF, "sscanf" , BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_FORMAT_SCANF_NOTHROW_2_3) |
| 941 | DEF_LIB_BUILTIN (BUILT_IN_VFPRINTF, "vfprintf" , BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, ATTR_NONNULL_1_FORMAT_PRINTF_2_0) |
| 942 | DEF_C99_BUILTIN (BUILT_IN_VFSCANF, "vfscanf" , BT_FN_INT_FILEPTR_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_2_0) |
| 943 | DEF_LIB_BUILTIN (BUILT_IN_VPRINTF, "vprintf" , BT_FN_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_1_0) |
| 944 | DEF_C99_BUILTIN (BUILT_IN_VSCANF, "vscanf" , BT_FN_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_1_0) |
| 945 | DEF_C99_BUILTIN (BUILT_IN_VSNPRINTF, "vsnprintf" , BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_3_0) |
| 946 | DEF_LIB_BUILTIN (BUILT_IN_VSPRINTF, "vsprintf" , BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_2_0) |
| 947 | DEF_C99_BUILTIN (BUILT_IN_VSSCANF, "vsscanf" , BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, ATTR_FORMAT_SCANF_NOTHROW_2_0) |
| 948 | |
| 949 | /* Category: ctype builtins. */ |
| 950 | DEF_LIB_BUILTIN (BUILT_IN_ISALNUM, "isalnum" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 951 | DEF_LIB_BUILTIN (BUILT_IN_ISALPHA, "isalpha" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 952 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISASCII, "isascii" , BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 953 | DEF_C99_BUILTIN (BUILT_IN_ISBLANK, "isblank" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 954 | DEF_LIB_BUILTIN (BUILT_IN_ISCNTRL, "iscntrl" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 955 | DEF_LIB_BUILTIN (BUILT_IN_ISDIGIT, "isdigit" , BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 956 | DEF_LIB_BUILTIN (BUILT_IN_ISGRAPH, "isgraph" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 957 | DEF_LIB_BUILTIN (BUILT_IN_ISLOWER, "islower" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 958 | DEF_LIB_BUILTIN (BUILT_IN_ISPRINT, "isprint" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 959 | DEF_LIB_BUILTIN (BUILT_IN_ISPUNCT, "ispunct" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 960 | DEF_LIB_BUILTIN (BUILT_IN_ISSPACE, "isspace" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 961 | DEF_LIB_BUILTIN (BUILT_IN_ISUPPER, "isupper" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 962 | DEF_LIB_BUILTIN (BUILT_IN_ISXDIGIT, "isxdigit" , BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 963 | DEF_EXT_LIB_BUILTIN (BUILT_IN_TOASCII, "toascii" , BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 964 | DEF_LIB_BUILTIN (BUILT_IN_TOLOWER, "tolower" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 965 | DEF_LIB_BUILTIN (BUILT_IN_TOUPPER, "toupper" , BT_FN_INT_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 966 | |
| 967 | /* Category: wctype builtins. */ |
| 968 | DEF_C94_BUILTIN (BUILT_IN_ISWALNUM, "iswalnum" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 969 | DEF_C94_BUILTIN (BUILT_IN_ISWALPHA, "iswalpha" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 970 | DEF_C99_BUILTIN (BUILT_IN_ISWBLANK, "iswblank" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 971 | DEF_C94_BUILTIN (BUILT_IN_ISWCNTRL, "iswcntrl" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 972 | DEF_C94_BUILTIN (BUILT_IN_ISWDIGIT, "iswdigit" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 973 | DEF_C94_BUILTIN (BUILT_IN_ISWGRAPH, "iswgraph" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 974 | DEF_C94_BUILTIN (BUILT_IN_ISWLOWER, "iswlower" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 975 | DEF_C94_BUILTIN (BUILT_IN_ISWPRINT, "iswprint" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 976 | DEF_C94_BUILTIN (BUILT_IN_ISWPUNCT, "iswpunct" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 977 | DEF_C94_BUILTIN (BUILT_IN_ISWSPACE, "iswspace" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 978 | DEF_C94_BUILTIN (BUILT_IN_ISWUPPER, "iswupper" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 979 | DEF_C94_BUILTIN (BUILT_IN_ISWXDIGIT, "iswxdigit" , BT_FN_INT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 980 | DEF_C94_BUILTIN (BUILT_IN_TOWLOWER, "towlower" , BT_FN_WINT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 981 | DEF_C94_BUILTIN (BUILT_IN_TOWUPPER, "towupper" , BT_FN_WINT_WINT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 982 | |
| 983 | /* Category: integer overflow checking builtins. */ |
| 984 | DEF_GCC_BUILTIN (BUILT_IN_ADD_OVERFLOW, "add_overflow" , BT_FN_BOOL_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) |
| 985 | DEF_GCC_BUILTIN (BUILT_IN_SUB_OVERFLOW, "sub_overflow" , BT_FN_BOOL_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) |
| 986 | DEF_GCC_BUILTIN (BUILT_IN_MUL_OVERFLOW, "mul_overflow" , BT_FN_BOOL_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) |
| 987 | DEF_GCC_BUILTIN (BUILT_IN_ADD_OVERFLOW_P, "add_overflow_p" , BT_FN_BOOL_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 988 | DEF_GCC_BUILTIN (BUILT_IN_SUB_OVERFLOW_P, "sub_overflow_p" , BT_FN_BOOL_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 989 | DEF_GCC_BUILTIN (BUILT_IN_MUL_OVERFLOW_P, "mul_overflow_p" , BT_FN_BOOL_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 990 | /* Clang compatibility. */ |
| 991 | DEF_GCC_BUILTIN (BUILT_IN_SADD_OVERFLOW, "sadd_overflow" , BT_FN_BOOL_INT_INT_INTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 992 | DEF_GCC_BUILTIN (BUILT_IN_SADDL_OVERFLOW, "saddl_overflow" , BT_FN_BOOL_LONG_LONG_LONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 993 | DEF_GCC_BUILTIN (BUILT_IN_SADDLL_OVERFLOW, "saddll_overflow" , BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 994 | DEF_GCC_BUILTIN (BUILT_IN_SSUB_OVERFLOW, "ssub_overflow" , BT_FN_BOOL_INT_INT_INTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 995 | DEF_GCC_BUILTIN (BUILT_IN_SSUBL_OVERFLOW, "ssubl_overflow" , BT_FN_BOOL_LONG_LONG_LONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 996 | DEF_GCC_BUILTIN (BUILT_IN_SSUBLL_OVERFLOW, "ssubll_overflow" , BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 997 | DEF_GCC_BUILTIN (BUILT_IN_SMUL_OVERFLOW, "smul_overflow" , BT_FN_BOOL_INT_INT_INTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 998 | DEF_GCC_BUILTIN (BUILT_IN_SMULL_OVERFLOW, "smull_overflow" , BT_FN_BOOL_LONG_LONG_LONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 999 | DEF_GCC_BUILTIN (BUILT_IN_SMULLL_OVERFLOW, "smulll_overflow" , BT_FN_BOOL_LONGLONG_LONGLONG_LONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1000 | DEF_GCC_BUILTIN (BUILT_IN_UADD_OVERFLOW, "uadd_overflow" , BT_FN_BOOL_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1001 | DEF_GCC_BUILTIN (BUILT_IN_UADDL_OVERFLOW, "uaddl_overflow" , BT_FN_BOOL_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1002 | DEF_GCC_BUILTIN (BUILT_IN_UADDLL_OVERFLOW, "uaddll_overflow" , BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1003 | DEF_GCC_BUILTIN (BUILT_IN_USUB_OVERFLOW, "usub_overflow" , BT_FN_BOOL_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1004 | DEF_GCC_BUILTIN (BUILT_IN_USUBL_OVERFLOW, "usubl_overflow" , BT_FN_BOOL_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1005 | DEF_GCC_BUILTIN (BUILT_IN_USUBLL_OVERFLOW, "usubll_overflow" , BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1006 | DEF_GCC_BUILTIN (BUILT_IN_UMUL_OVERFLOW, "umul_overflow" , BT_FN_BOOL_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1007 | DEF_GCC_BUILTIN (BUILT_IN_UMULL_OVERFLOW, "umull_overflow" , BT_FN_BOOL_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1008 | DEF_GCC_BUILTIN (BUILT_IN_UMULLL_OVERFLOW, "umulll_overflow" , BT_FN_BOOL_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1009 | DEF_GCC_BUILTIN (BUILT_IN_ADDC, "addc" , BT_FN_UINT_UINT_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1010 | DEF_GCC_BUILTIN (BUILT_IN_ADDCL, "addcl" , BT_FN_ULONG_ULONG_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1011 | DEF_GCC_BUILTIN (BUILT_IN_ADDCLL, "addcll" , BT_FN_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1012 | DEF_GCC_BUILTIN (BUILT_IN_SUBC, "subc" , BT_FN_UINT_UINT_UINT_UINT_UINTPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1013 | DEF_GCC_BUILTIN (BUILT_IN_SUBCL, "subcl" , BT_FN_ULONG_ULONG_ULONG_ULONG_ULONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1014 | DEF_GCC_BUILTIN (BUILT_IN_SUBCLL, "subcll" , BT_FN_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONG_ULONGLONGPTR, ATTR_NOTHROW_NONNULL_LEAF_LIST) |
| 1015 | |
| 1016 | /* Category: miscellaneous builtins. */ |
| 1017 | DEF_LIB_BUILTIN (BUILT_IN_ABORT, "abort" , BT_FN_VOID, ATTR_TMPURE_NORETURN_NOTHROW_LEAF_COLD_LIST) |
| 1018 | DEF_LIB_BUILTIN (BUILT_IN_ABS, "abs" , BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1019 | DEF_GCC_BUILTIN (BUILT_IN_AGGREGATE_INCOMING_ADDRESS, "aggregate_incoming_address" , BT_FN_PTR_VAR, ATTR_LEAF_LIST) |
| 1020 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ALLOCA, "alloca" , BT_FN_PTR_SIZE, ATTR_ALLOCA_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST) |
| 1021 | DEF_GCC_BUILTIN (BUILT_IN_APPLY, "apply" , BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, ATTR_NULL) |
| 1022 | DEF_GCC_BUILTIN (BUILT_IN_APPLY_ARGS, "apply_args" , BT_FN_PTR_VAR, ATTR_LEAF_LIST) |
| 1023 | DEF_GCC_BUILTIN (BUILT_IN_BSWAP16, "bswap16" , BT_FN_UINT16_UINT16, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1024 | DEF_GCC_BUILTIN (BUILT_IN_BSWAP32, "bswap32" , BT_FN_UINT32_UINT32, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1025 | DEF_GCC_BUILTIN (BUILT_IN_BSWAP64, "bswap64" , BT_FN_UINT64_UINT64, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1026 | DEF_GCC_BUILTIN (BUILT_IN_BSWAP128, "bswap128" , BT_FN_UINT128_UINT128, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1027 | |
| 1028 | DEF_EXT_LIB_BUILTIN (BUILT_IN_CLEAR_CACHE, "__clear_cache" , BT_FN_VOID_PTR_PTR, ATTR_NOTHROW_LEAF_LIST) |
| 1029 | /* [trans-mem]: Adjust BUILT_IN_TM_CALLOC if BUILT_IN_CALLOC is changed. */ |
| 1030 | DEF_LIB_BUILTIN (BUILT_IN_CALLOC, "calloc" , BT_FN_PTR_SIZE_SIZE, ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_2_NOTHROW_LEAF_LIST) |
| 1031 | DEF_GCC_BUILTIN (BUILT_IN_CLASSIFY_TYPE, "classify_type" , BT_FN_INT_VAR, ATTR_LEAF_LIST) |
| 1032 | DEF_GCC_BUILTIN (BUILT_IN_CLEAR_PADDING, "clear_padding" , BT_FN_VOID_VAR, ATTR_NOTHROW_NONNULL_TYPEGENERIC_LEAF) |
| 1033 | DEF_GCC_BUILTIN (BUILT_IN_CLZ, "clz" , BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1034 | DEF_GCC_BUILTIN (BUILT_IN_CLZIMAX, "clzimax" , BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1035 | DEF_GCC_BUILTIN (BUILT_IN_CLZL, "clzl" , BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1036 | DEF_GCC_BUILTIN (BUILT_IN_CLZLL, "clzll" , BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1037 | DEF_GCC_BUILTIN (BUILT_IN_CLZG, "clzg" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1038 | DEF_GCC_BUILTIN (BUILT_IN_CONSTANT_P, "constant_p" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1039 | DEF_GCC_BUILTIN (BUILT_IN_CTZ, "ctz" , BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1040 | DEF_GCC_BUILTIN (BUILT_IN_CTZIMAX, "ctzimax" , BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1041 | DEF_GCC_BUILTIN (BUILT_IN_CTZL, "ctzl" , BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1042 | DEF_GCC_BUILTIN (BUILT_IN_CTZLL, "ctzll" , BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1043 | DEF_GCC_BUILTIN (BUILT_IN_CTZG, "ctzg" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1044 | DEF_GCC_BUILTIN (BUILT_IN_CLRSB, "clrsb" , BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1045 | DEF_GCC_BUILTIN (BUILT_IN_CLRSBIMAX, "clrsbimax" , BT_FN_INT_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1046 | DEF_GCC_BUILTIN (BUILT_IN_CLRSBL, "clrsbl" , BT_FN_INT_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1047 | DEF_GCC_BUILTIN (BUILT_IN_CLRSBLL, "clrsbll" , BT_FN_INT_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1048 | DEF_GCC_BUILTIN (BUILT_IN_CLRSBG, "clrsbg" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1049 | DEF_EXT_LIB_BUILTIN (BUILT_IN_DCGETTEXT, "dcgettext" , BT_FN_STRING_CONST_STRING_CONST_STRING_INT, ATTR_FORMAT_ARG_2) |
| 1050 | DEF_EXT_LIB_BUILTIN (BUILT_IN_DGETTEXT, "dgettext" , BT_FN_STRING_CONST_STRING_CONST_STRING, ATTR_FORMAT_ARG_2) |
| 1051 | DEF_GCC_BUILTIN (BUILT_IN_DWARF_CFA, "dwarf_cfa" , BT_FN_PTR, ATTR_NULL) |
| 1052 | DEF_GCC_BUILTIN (BUILT_IN_DWARF_SP_COLUMN, "dwarf_sp_column" , BT_FN_UINT, ATTR_NULL) |
| 1053 | DEF_GCC_BUILTIN (BUILT_IN_EH_RETURN, "eh_return" , BT_FN_VOID_PTRMODE_PTR, ATTR_NORETURN_NOTHROW_LEAF_LIST) |
| 1054 | DEF_GCC_BUILTIN (BUILT_IN_EH_RETURN_DATA_REGNO, "eh_return_data_regno" , BT_FN_INT_INT, ATTR_LEAF_LIST) |
| 1055 | DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECL, "execl" , BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_SENTINEL_NOTHROW_LIST) |
| 1056 | DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECLP, "execlp" , BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_SENTINEL_NOTHROW_LIST) |
| 1057 | DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECLE, "execle" , BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_NOTHROW_SENTINEL_1) |
| 1058 | DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECV, "execv" , BT_FN_INT_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST) |
| 1059 | DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECVP, "execvp" , BT_FN_INT_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST) |
| 1060 | DEF_EXT_LIB_BUILTIN (BUILT_IN_EXECVE, "execve" , BT_FN_INT_CONST_STRING_PTR_CONST_STRING_PTR_CONST_STRING, ATTR_NOTHROW_LIST) |
| 1061 | DEF_LIB_BUILTIN (BUILT_IN_EXIT, "exit" , BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LIST) |
| 1062 | DEF_GCC_BUILTIN (BUILT_IN_EXPECT, "expect" , BT_FN_LONG_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1063 | DEF_GCC_BUILTIN (BUILT_IN_EXPECT_WITH_PROBABILITY, "expect_with_probability" , BT_FN_LONG_LONG_LONG_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1064 | DEF_GCC_BUILTIN (BUILT_IN_ASSUME_ALIGNED, "assume_aligned" , BT_FN_PTR_CONST_PTR_SIZE_VAR, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1065 | DEF_GCC_BUILTIN (BUILT_IN_EXTEND_POINTER, "extend_pointer" , BT_FN_UNWINDWORD_PTR, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1066 | DEF_GCC_BUILTIN (, "extract_return_addr" , BT_FN_PTR_PTR, ATTR_LEAF_LIST) |
| 1067 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FFS, "ffs" , BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1068 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FFSIMAX, "ffsimax" , BT_FN_INT_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1069 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FFSL, "ffsl" , BT_FN_INT_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1070 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FFSLL, "ffsll" , BT_FN_INT_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1071 | DEF_GCC_BUILTIN (BUILT_IN_FFSG, "ffsg" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1072 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FORK, "fork" , BT_FN_PID, ATTR_NOTHROW_LIST) |
| 1073 | DEF_GCC_BUILTIN (BUILT_IN_FRAME_ADDRESS, "frame_address" , BT_FN_PTR_UINT, ATTR_NULL) |
| 1074 | DEF_GCC_BUILTIN (BUILT_IN_STACK_ADDRESS, "stack_address" , BT_FN_PTR, ATTR_NULL) |
| 1075 | DEF_BUILTIN_STUB (BUILT_IN___STRUB_ENTER, "__builtin___strub_enter" ) |
| 1076 | DEF_BUILTIN_STUB (BUILT_IN___STRUB_UPDATE, "__builtin___strub_update" ) |
| 1077 | DEF_BUILTIN_STUB (BUILT_IN___STRUB_LEAVE, "__builtin___strub_leave" ) |
| 1078 | /* [trans-mem]: Adjust BUILT_IN_TM_FREE if BUILT_IN_FREE is changed. */ |
| 1079 | DEF_LIB_BUILTIN (BUILT_IN_FREE, "free" , BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) |
| 1080 | DEF_GCC_BUILTIN (BUILT_IN_FROB_RETURN_ADDR, "frob_return_addr" , BT_FN_PTR_PTR, ATTR_NULL) |
| 1081 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GETTEXT, "gettext" , BT_FN_STRING_CONST_STRING, ATTR_FORMAT_ARG_1) |
| 1082 | DEF_C99_BUILTIN (BUILT_IN_IMAXABS, "imaxabs" , BT_FN_INTMAX_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1083 | DEF_GCC_BUILTIN (BUILT_IN_INIT_DWARF_REG_SIZES, "init_dwarf_reg_size_table" , BT_FN_VOID_PTR, ATTR_NULL) |
| 1084 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITE, "finite" , BT_FN_INT_DOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1085 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITEF, "finitef" , BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1086 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITEL, "finitel" , BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1087 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED32, "finited32" , BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1088 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED64, "finited64" , BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1089 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FINITED128, "finited128" , BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1090 | DEF_GCC_BUILTIN (BUILT_IN_FPCLASSIFY, "fpclassify" , BT_FN_INT_INT_INT_INT_INT_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1091 | DEF_GCC_BUILTIN (BUILT_IN_ISFINITE, "isfinite" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1092 | DEF_GCC_BUILTIN (BUILT_IN_ISINF_SIGN, "isinf_sign" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1093 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ISINF, "isinf" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC) |
| 1094 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFF, "isinff" , BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1095 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFL, "isinfl" , BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1096 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFD32, "isinfd32" , BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1097 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFD64, "isinfd64" , BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1098 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISINFD128, "isinfd128" , BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1099 | DEF_C99_C90RES_BUILTIN (BUILT_IN_ISNAN, "isnan" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1100 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNANF, "isnanf" , BT_FN_INT_FLOAT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1101 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNANL, "isnanl" , BT_FN_INT_LONGDOUBLE, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1102 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNAND32, "isnand32" , BT_FN_INT_DFLOAT32, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1103 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNAND64, "isnand64" , BT_FN_INT_DFLOAT64, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1104 | DEF_EXT_LIB_BUILTIN (BUILT_IN_ISNAND128, "isnand128" , BT_FN_INT_DFLOAT128, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1105 | DEF_GCC_BUILTIN (BUILT_IN_ISNORMAL, "isnormal" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1106 | DEF_GCC_BUILTIN (BUILT_IN_ISGREATER, "isgreater" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1107 | DEF_GCC_BUILTIN (BUILT_IN_ISGREATEREQUAL, "isgreaterequal" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1108 | DEF_GCC_BUILTIN (BUILT_IN_ISLESS, "isless" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1109 | DEF_GCC_BUILTIN (BUILT_IN_ISLESSEQUAL, "islessequal" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1110 | DEF_GCC_BUILTIN (BUILT_IN_ISLESSGREATER, "islessgreater" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1111 | DEF_GCC_BUILTIN (BUILT_IN_ISUNORDERED, "isunordered" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1112 | DEF_GCC_BUILTIN (BUILT_IN_ISEQSIG, "iseqsig" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1113 | DEF_GCC_BUILTIN (BUILT_IN_ISSIGNALING, "issignaling" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1114 | DEF_LIB_BUILTIN (BUILT_IN_LABS, "labs" , BT_FN_LONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1115 | DEF_C99_BUILTIN (BUILT_IN_LLABS, "llabs" , BT_FN_LONGLONG_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1116 | DEF_GCC_BUILTIN (BUILT_IN_LONGJMP, "longjmp" , BT_FN_VOID_PTR_INT, ATTR_NORETURN_NOTHROW_LIST) |
| 1117 | /* [trans-mem]: Adjust BUILT_IN_TM_MALLOC if BUILT_IN_MALLOC is changed. */ |
| 1118 | DEF_LIB_BUILTIN (BUILT_IN_MALLOC, "malloc" , BT_FN_PTR_SIZE, ATTR_MALLOC_WARN_UNUSED_RESULT_SIZE_1_NOTHROW_LEAF_LIST) |
| 1119 | DEF_GCC_BUILTIN (BUILT_IN_NEXT_ARG, "next_arg" , BT_FN_PTR_VAR, ATTR_LEAF_LIST) |
| 1120 | DEF_GCC_BUILTIN (BUILT_IN_PARITY, "parity" , BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1121 | DEF_GCC_BUILTIN (BUILT_IN_PARITYIMAX, "parityimax" , BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1122 | DEF_GCC_BUILTIN (BUILT_IN_PARITYL, "parityl" , BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1123 | DEF_GCC_BUILTIN (BUILT_IN_PARITYLL, "parityll" , BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1124 | DEF_GCC_BUILTIN (BUILT_IN_PARITYG, "parityg" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1125 | DEF_GCC_BUILTIN (BUILT_IN_POPCOUNT, "popcount" , BT_FN_INT_UINT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1126 | DEF_GCC_BUILTIN (BUILT_IN_POPCOUNTIMAX, "popcountimax" , BT_FN_INT_UINTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1127 | DEF_GCC_BUILTIN (BUILT_IN_POPCOUNTL, "popcountl" , BT_FN_INT_ULONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1128 | DEF_GCC_BUILTIN (BUILT_IN_POPCOUNTLL, "popcountll" , BT_FN_INT_ULONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1129 | DEF_GCC_BUILTIN (BUILT_IN_POPCOUNTG, "popcountg" , BT_FN_INT_VAR, ATTR_CONST_NOTHROW_TYPEGENERIC_LEAF) |
| 1130 | DEF_EXT_LIB_BUILTIN (BUILT_IN_POSIX_MEMALIGN, "posix_memalign" , BT_FN_INT_PTRPTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_LEAF) |
| 1131 | DEF_GCC_BUILTIN (BUILT_IN_PREFETCH, "prefetch" , BT_FN_VOID_CONST_PTR_VAR, ATTR_NOVOPS_LEAF_LIST) |
| 1132 | DEF_LIB_BUILTIN (BUILT_IN_REALLOC, "realloc" , BT_FN_PTR_PTR_SIZE, ATTR_ALLOC_WARN_UNUSED_RESULT_SIZE_2_NOTHROW_LEAF_LIST) |
| 1133 | DEF_GCC_BUILTIN (BUILT_IN_RETURN, "return" , BT_FN_VOID_PTR, ATTR_NORETURN_NOTHROW_LEAF_LIST) |
| 1134 | DEF_GCC_BUILTIN (BUILT_IN_RETURN_ADDRESS, "return_address" , BT_FN_PTR_UINT, ATTR_LEAF_LIST) |
| 1135 | DEF_GCC_BUILTIN (BUILT_IN_SAVEREGS, "saveregs" , BT_FN_PTR_VAR, ATTR_NULL) |
| 1136 | DEF_GCC_BUILTIN (BUILT_IN_SETJMP, "setjmp" , BT_FN_INT_PTR, ATTR_RT_NOTHROW_LEAF_LIST) |
| 1137 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRFMON, "strfmon" , BT_FN_SSIZE_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_STRFMON_NOTHROW_3_4) |
| 1138 | DEF_LIB_BUILTIN (BUILT_IN_STRFTIME, "strftime" , BT_FN_SIZE_STRING_SIZE_CONST_STRING_CONST_TM_PTR, ATTR_FORMAT_STRFTIME_NOTHROW_3_0) |
| 1139 | DEF_GCC_BUILTIN (BUILT_IN_TRAP, "trap" , BT_FN_VOID, ATTR_NORETURN_NOTHROW_LEAF_COLD_LIST) |
| 1140 | DEF_C2Y_BUILTIN (BUILT_IN_UABS, "uabs" , BT_FN_UINT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1141 | DEF_C2Y_BUILTIN (BUILT_IN_UMAXABS, "umaxabs" , BT_FN_UINTMAX_INTMAX, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1142 | DEF_C2Y_BUILTIN (BUILT_IN_ULABS, "ulabs" , BT_FN_ULONG_LONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1143 | DEF_C2Y_BUILTIN (BUILT_IN_ULLABS, "ullabs" , BT_FN_ULONGLONG_LONGLONG, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1144 | DEF_GCC_BUILTIN (BUILT_IN_UNREACHABLE_TRAP, "unreachable trap" , BT_FN_VOID, ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST) |
| 1145 | DEF_GCC_BUILTIN (BUILT_IN_UNREACHABLE, "unreachable" , BT_FN_VOID, ATTR_CONST_NORETURN_NOTHROW_LEAF_COLD_LIST) |
| 1146 | DEF_GCC_BUILTIN (BUILT_IN_OBSERVABLE_CHKPT, "observable_checkpoint" , BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) |
| 1147 | DEF_GCC_BUILTIN (BUILT_IN_UNWIND_INIT, "unwind_init" , BT_FN_VOID, ATTR_NULL) |
| 1148 | DEF_GCC_BUILTIN (BUILT_IN_UPDATE_SETJMP_BUF, "update_setjmp_buf" , BT_FN_VOID_PTR, ATTR_NULL) |
| 1149 | DEF_GCC_BUILTIN (BUILT_IN_VA_COPY, "va_copy" , BT_FN_VOID_VALIST_REF_VALIST_ARG, ATTR_NOTHROW_LEAF_LIST) |
| 1150 | DEF_GCC_BUILTIN (BUILT_IN_VA_END, "va_end" , BT_FN_VOID_VALIST_REF, ATTR_NOTHROW_LEAF_LIST) |
| 1151 | DEF_GCC_BUILTIN (BUILT_IN_VA_START, "va_start" , BT_FN_VOID_VALIST_REF_VAR, ATTR_NOTHROW_LEAF_LIST) |
| 1152 | DEF_GCC_BUILTIN (BUILT_IN_VA_ARG_PACK, "va_arg_pack" , BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 1153 | DEF_GCC_BUILTIN (BUILT_IN_VA_ARG_PACK_LEN, "va_arg_pack_len" , BT_FN_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 1154 | DEF_EXT_LIB_BUILTIN (BUILT_IN__EXIT, "_exit" , BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LEAF_LIST) |
| 1155 | DEF_C99_BUILTIN (BUILT_IN__EXIT2, "_Exit" , BT_FN_VOID_INT, ATTR_NORETURN_NOTHROW_LEAF_LIST) |
| 1156 | |
| 1157 | /* Implementing nested functions. */ |
| 1158 | DEF_BUILTIN_STUB (BUILT_IN_INIT_TRAMPOLINE, "__builtin_init_trampoline" ) |
| 1159 | DEF_BUILTIN_STUB (BUILT_IN_INIT_HEAP_TRAMPOLINE, "__builtin_init_heap_trampoline" ) |
| 1160 | DEF_BUILTIN_STUB (BUILT_IN_ADJUST_TRAMPOLINE, "__builtin_adjust_trampoline" ) |
| 1161 | DEF_BUILTIN_STUB (BUILT_IN_INIT_DESCRIPTOR, "__builtin_init_descriptor" ) |
| 1162 | DEF_BUILTIN_STUB (BUILT_IN_ADJUST_DESCRIPTOR, "__builtin_adjust_descriptor" ) |
| 1163 | DEF_BUILTIN_STUB (BUILT_IN_NONLOCAL_GOTO, "__builtin_nonlocal_goto" ) |
| 1164 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GCC_NESTED_PTR_CREATED, "__gcc_nested_func_ptr_created" , BT_FN_VOID_PTR_PTR_PTR, ATTR_NOTHROW_LIST) |
| 1165 | DEF_EXT_LIB_BUILTIN (BUILT_IN_GCC_NESTED_PTR_DELETED, "__gcc_nested_func_ptr_deleted" , BT_FN_VOID, ATTR_NOTHROW_LIST) |
| 1166 | |
| 1167 | /* Implementing __builtin_setjmp. */ |
| 1168 | DEF_BUILTIN_STUB (BUILT_IN_SETJMP_SETUP, "__builtin_setjmp_setup" ) |
| 1169 | DEF_BUILTIN_STUB (BUILT_IN_SETJMP_RECEIVER, "__builtin_setjmp_receiver" ) |
| 1170 | |
| 1171 | /* Implementing variable sized local variables. */ |
| 1172 | DEF_BUILTIN_STUB (BUILT_IN_STACK_SAVE, "__builtin_stack_save" ) |
| 1173 | DEF_BUILTIN_STUB (BUILT_IN_STACK_RESTORE, "__builtin_stack_restore" ) |
| 1174 | DEF_BUILTIN_STUB (BUILT_IN_ALLOCA_WITH_ALIGN, "__builtin_alloca_with_align" ) |
| 1175 | DEF_BUILTIN_STUB (BUILT_IN_ALLOCA_WITH_ALIGN_AND_MAX, "__builtin_alloca_with_align_and_max" ) |
| 1176 | |
| 1177 | /* An internal version of memcmp, used when the result is only tested for |
| 1178 | equality with zero. */ |
| 1179 | DEF_BUILTIN_STUB (BUILT_IN_MEMCMP_EQ, "__builtin_memcmp_eq" ) |
| 1180 | |
| 1181 | /* An internal version of strcmp/strncmp, used when the result is only |
| 1182 | tested for equality with zero. */ |
| 1183 | DEF_BUILTIN_STUB (BUILT_IN_STRCMP_EQ, "__builtin_strcmp_eq" ) |
| 1184 | DEF_BUILTIN_STUB (BUILT_IN_STRNCMP_EQ, "__builtin_strncmp_eq" ) |
| 1185 | |
| 1186 | /* Object size checking builtins. */ |
| 1187 | DEF_GCC_BUILTIN (BUILT_IN_OBJECT_SIZE, "object_size" , BT_FN_SIZE_CONST_PTR_INT, ATTR_CONST_NOTHROW_LEAF_LIST) |
| 1188 | DEF_GCC_BUILTIN (BUILT_IN_DYNAMIC_OBJECT_SIZE, "dynamic_object_size" , BT_FN_SIZE_CONST_PTR_INT, ATTR_PURE_NOTHROW_LEAF_LIST) |
| 1189 | DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMCPY_CHK, "__memcpy_chk" , BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 1190 | DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMMOVE_CHK, "__memmove_chk" , BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 1191 | DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMPCPY_CHK, "__mempcpy_chk" , BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 1192 | DEF_EXT_LIB_BUILTIN (BUILT_IN_MEMSET_CHK, "__memset_chk" , BT_FN_PTR_PTR_INT_SIZE_SIZE, ATTR_NOTHROW_NONNULL_IF13_LEAF) |
| 1193 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STPCPY_CHK, "__stpcpy_chk" , BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_RETNONNULL_NOTHROW_LEAF) |
| 1194 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STPNCPY_CHK, "__stpncpy_chk" , BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 1195 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRCAT_CHK, "__strcat_chk" , BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF) |
| 1196 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRCPY_CHK, "__strcpy_chk" , BT_FN_STRING_STRING_CONST_STRING_SIZE, ATTR_NOTHROW_NONNULL_LEAF) |
| 1197 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNCAT_CHK, "__strncat_chk" , BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_NOTHROW_NONNULL_1_IF23_LEAF) |
| 1198 | DEF_EXT_LIB_BUILTIN (BUILT_IN_STRNCPY_CHK, "__strncpy_chk" , BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE, ATTR_NOTHROW_NONNULL_IF123_LEAF) |
| 1199 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SNPRINTF_CHK, "__snprintf_chk" , BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_NOTHROW_5_6) |
| 1200 | DEF_EXT_LIB_BUILTIN (BUILT_IN_SPRINTF_CHK, "__sprintf_chk" , BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_4_5) |
| 1201 | DEF_EXT_LIB_BUILTIN (BUILT_IN_VSNPRINTF_CHK, "__vsnprintf_chk" , BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_NOTHROW_5_0) |
| 1202 | DEF_EXT_LIB_BUILTIN (BUILT_IN_VSPRINTF_CHK, "__vsprintf_chk" , BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG, ATTR_NOTHROW_NONNULL_1_FORMAT_PRINTF_4_0) |
| 1203 | DEF_EXT_LIB_BUILTIN (BUILT_IN_FPRINTF_CHK, "__fprintf_chk" , BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR, ATTR_NONNULL_1_FORMAT_PRINTF_3_4) |
| 1204 | DEF_EXT_LIB_BUILTIN (BUILT_IN_PRINTF_CHK, "__printf_chk" , BT_FN_INT_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_2_3) |
| 1205 | DEF_EXT_LIB_BUILTIN (BUILT_IN_VFPRINTF_CHK, "__vfprintf_chk" , BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG, ATTR_NONNULL_1_FORMAT_PRINTF_3_0) |
| 1206 | DEF_EXT_LIB_BUILTIN (BUILT_IN_VPRINTF_CHK, "__vprintf_chk" , BT_FN_INT_INT_CONST_STRING_VALIST_ARG, ATTR_FORMAT_PRINTF_2_0) |
| 1207 | |
| 1208 | /* Profiling hooks. */ |
| 1209 | DEF_BUILTIN (BUILT_IN_PROFILE_FUNC_ENTER, "__cyg_profile_func_enter" , BUILT_IN_NORMAL, BT_FN_VOID_PTR_PTR, BT_LAST, |
| 1210 | false, false, false, ATTR_NULL, true, true) |
| 1211 | DEF_BUILTIN (BUILT_IN_PROFILE_FUNC_EXIT, "__cyg_profile_func_exit" , BUILT_IN_NORMAL, BT_FN_VOID_PTR_PTR, BT_LAST, |
| 1212 | false, false, false, ATTR_NULL, true, true) |
| 1213 | |
| 1214 | /* TLS thread pointer related builtins. */ |
| 1215 | DEF_BUILTIN (BUILT_IN_THREAD_POINTER, "__builtin_thread_pointer" , |
| 1216 | BUILT_IN_NORMAL, BT_FN_PTR, BT_LAST, |
| 1217 | false, false, true, ATTR_CONST_NOTHROW_LIST, true, |
| 1218 | targetm.have_tls) |
| 1219 | |
| 1220 | DEF_BUILTIN (BUILT_IN_SET_THREAD_POINTER, "__builtin_set_thread_pointer" , |
| 1221 | BUILT_IN_NORMAL, BT_FN_VOID_PTR, BT_LAST, |
| 1222 | false, false, true, ATTR_NOTHROW_LIST, true, |
| 1223 | targetm.have_tls) |
| 1224 | |
| 1225 | /* TLS emulation. */ |
| 1226 | DEF_BUILTIN (BUILT_IN_EMUTLS_GET_ADDRESS, targetm.emutls.get_address, |
| 1227 | BUILT_IN_NORMAL, |
| 1228 | BT_FN_PTR_PTR, BT_FN_PTR_PTR, |
| 1229 | true, true, true, ATTR_CONST_NOTHROW_NONNULL_LEAF, false, |
| 1230 | !targetm.have_tls) |
| 1231 | DEF_BUILTIN (BUILT_IN_EMUTLS_REGISTER_COMMON, |
| 1232 | targetm.emutls.register_common, BUILT_IN_NORMAL, |
| 1233 | BT_FN_VOID_PTR_WORD_WORD_PTR, BT_FN_VOID_PTR_WORD_WORD_PTR, |
| 1234 | true, true, true, ATTR_NOTHROW_LEAF_LIST, false, |
| 1235 | !targetm.have_tls) |
| 1236 | |
| 1237 | /* Suppressing speculation. Users are expected to use the first (N) |
| 1238 | variant, which will be translated internally into one of the other |
| 1239 | types. */ |
| 1240 | |
| 1241 | DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_N, "speculation_safe_value" , |
| 1242 | BT_FN_VOID_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) |
| 1243 | |
| 1244 | DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_PTR, |
| 1245 | "speculation_safe_value_ptr" , BT_FN_PTR_PTR_VAR, |
| 1246 | ATTR_NOVOPS_NOTHROW_LEAF_LIST) |
| 1247 | DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_1, "speculation_safe_value_1" , |
| 1248 | BT_FN_I1_I1_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) |
| 1249 | DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_2, "speculation_safe_value_2" , |
| 1250 | BT_FN_I2_I2_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) |
| 1251 | DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_4, "speculation_safe_value_4" , |
| 1252 | BT_FN_I4_I4_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) |
| 1253 | DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_8, "speculation_safe_value_8" , |
| 1254 | BT_FN_I8_I8_VAR, ATTR_NOVOPS_NOTHROW_LEAF_LIST) |
| 1255 | DEF_GCC_BUILTIN (BUILT_IN_SPECULATION_SAFE_VALUE_16, |
| 1256 | "speculation_safe_value_16" , BT_FN_I16_I16_VAR, |
| 1257 | ATTR_NOVOPS_NOTHROW_LEAF_LIST) |
| 1258 | |
| 1259 | /* Exception support. */ |
| 1260 | DEF_BUILTIN_STUB (BUILT_IN_UNWIND_RESUME, "__builtin_unwind_resume" ) |
| 1261 | DEF_BUILTIN_STUB (BUILT_IN_CXA_END_CLEANUP, "__builtin_cxa_end_cleanup" ) |
| 1262 | DEF_BUILTIN_STUB (BUILT_IN_EH_POINTER, "__builtin_eh_pointer" ) |
| 1263 | DEF_BUILTIN_STUB (BUILT_IN_EH_FILTER, "__builtin_eh_filter" ) |
| 1264 | DEF_BUILTIN_STUB (BUILT_IN_EH_COPY_VALUES, "__builtin_eh_copy_values" ) |
| 1265 | |
| 1266 | /* __FILE__, __LINE__, __FUNCTION__ as builtins. */ |
| 1267 | DEF_GCC_BUILTIN (BUILT_IN_FILE, "FILE" , BT_FN_CONST_STRING, ATTR_NOTHROW_LEAF_LIST) |
| 1268 | DEF_GCC_BUILTIN (BUILT_IN_FUNCTION, "FUNCTION" , BT_FN_CONST_STRING, ATTR_NOTHROW_LEAF_LIST) |
| 1269 | DEF_GCC_BUILTIN (BUILT_IN_LINE, "LINE" , BT_FN_INT, ATTR_NOTHROW_LEAF_LIST) |
| 1270 | |
| 1271 | /* Control Flow Redundancy hardening out-of-line checker. */ |
| 1272 | DEF_BUILTIN_STUB (BUILT_IN___HARDCFR_CHECK, "__builtin___hardcfr_check" ) |
| 1273 | |
| 1274 | /* Synchronization Primitives. */ |
| 1275 | #include "sync-builtins.def" |
| 1276 | |
| 1277 | /* Offloading and Multi Processing builtins. */ |
| 1278 | #include "omp-builtins.def" |
| 1279 | |
| 1280 | /* GTM builtins. */ |
| 1281 | #include "gtm-builtins.def" |
| 1282 | |
| 1283 | /* Sanitizer builtins. */ |
| 1284 | #include "sanitizer.def" |
| 1285 | |
| 1286 | /* Coroutine builtins. */ |
| 1287 | #include "coroutine-builtins.def" |
| 1288 | |
| 1289 | #undef DEF_BUILTIN |
| 1290 | |