diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-07-31 03:16:24 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-07-31 03:16:24 +0000 |
commit | 1aa0a5f67e3ce88116bff98bd677a8e93ec183e3 (patch) | |
tree | c150ba6a9624ed58f465bb41e1d98932b6fdc9fc /gcc | |
parent | 4bd0bee99e24c35d61d307f2afffd4b148448c44 (diff) | |
download | gcc-1aa0a5f67e3ce88116bff98bd677a8e93ec183e3.zip gcc-1aa0a5f67e3ce88116bff98bd677a8e93ec183e3.tar.gz gcc-1aa0a5f67e3ce88116bff98bd677a8e93ec183e3.tar.bz2 |
* builtins.def: Alphabetize.
From-SVN: r69989
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/builtins.def | 1388 |
2 files changed, 761 insertions, 631 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 13cb927..7729d5d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-07-30 Roger Sayle <roger@eyesopen.com> + + * builtins.def: Alphabetize. + 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu> * doc/c-tree.texi: Normalize spellings of "lowercase" and diff --git a/gcc/builtins.def b/gcc/builtins.def index 47cb7fc..0807450 100644 --- a/gcc/builtins.def +++ b/gcc/builtins.def @@ -106,337 +106,277 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA true, true, !flag_isoc99, ATTRS, TARGET_C99_FUNCTIONS) +DEF_LIB_BUILTIN(BUILT_IN_ABORT, + "__builtin_abort", + BT_FN_VOID, + ATTR_NORETURN_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_ABS, + "__builtin_abs", + BT_FN_INT_INT, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_AGGREGATE_INCOMING_ADDRESS, + "__builtin_aggregate_incoming_address", + BT_FN_PTR_VAR, + ATTR_NULL) + DEF_EXT_LIB_BUILTIN(BUILT_IN_ALLOCA, "__builtin_alloca", BT_FN_PTR_SIZE, ATTR_MALLOC_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_ABS, - "__builtin_abs", +DEF_GCC_BUILTIN(BUILT_IN_APPLY, + "__builtin_apply", + BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, + ATTR_NULL) + +DEF_GCC_BUILTIN(BUILT_IN_APPLY_ARGS, + "__builtin_apply_args", + BT_FN_PTR_VAR, + ATTR_NULL) + +DEF_GCC_BUILTIN(BUILT_IN_ARGS_INFO, + "__builtin_args_info", BT_FN_INT_INT, - ATTR_CONST_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_LABS, - "__builtin_labs", - BT_FN_LONG_LONG, - ATTR_CONST_NOTHROW_LIST) + ATTR_NULL) -DEF_LIB_BUILTIN(BUILT_IN_FABS, - "__builtin_fabs", +DEF_LIB_BUILTIN(BUILT_IN_ATAN, + "__builtin_atan", BT_FN_DOUBLE_DOUBLE, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_FABSF, - "__builtin_fabsf", + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_ATANF, + "__builtin_atanf", BT_FN_FLOAT_FLOAT, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_FABSL, - "__builtin_fabsl", + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_ATANL, + "__builtin_atanl", BT_FN_LONG_DOUBLE_LONG_DOUBLE, - ATTR_CONST_NOTHROW_LIST) + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_FLOOR, - "__builtin_floor", - BT_FN_DOUBLE_DOUBLE, +DEF_LIB_BUILTIN(BUILT_IN_ATAN2, + "__builtin_atan2", + BT_FN_DOUBLE_DOUBLE_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_ATAN2F, + "__builtin_atan2f", + BT_FN_FLOAT_FLOAT_FLOAT, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_ATAN2L, + "__builtin_atan2l", + BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +/* bcmp has traditionally accepted NULL pointers when the length + parameter is zero, so don't apply attribute "nonnull". */ +DEF_EXT_LIB_BUILTIN(BUILT_IN_BCMP, + "__builtin_bcmp", + BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, + ATTR_PURE_NOTHROW_LIST) + +/* bcopy has traditionally accepted NULL pointers when the length + parameter is zero, so don't apply attribute "nonnull". */ +DEF_EXT_LIB_BUILTIN(BUILT_IN_BCOPY, + "__builtin_bcopy", + BT_FN_VOID_CONST_PTR_PTR_SIZE, + ATTR_NOTHROW_LIST) + +/* bzero has traditionally accepted a NULL pointer when the length + parameter is zero, so don't apply attribute "nonnull". */ +DEF_EXT_LIB_BUILTIN(BUILT_IN_BZERO, + "__builtin_bzero", + BT_FN_VOID_PTR_SIZE, + ATTR_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_CABS, + "__builtin_cabs", + BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_FLOORF, - "__builtin_floorf", - BT_FN_FLOAT_FLOAT, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_FLOORL, - "__builtin_floorl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, - ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_CABSF, + "__builtin_cabsf", + BT_FN_FLOAT_COMPLEX_FLOAT, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_CABSL, + "__builtin_cabsl", + BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_CALLOC, + "__builtin_calloc", + BT_FN_PTR_SIZE_SIZE, + ATTR_MALLOC_NOTHROW_LIST) DEF_LIB_BUILTIN(BUILT_IN_CEIL, "__builtin_ceil", BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LIST) + DEF_C99_C90RES_BUILTIN(BUILT_IN_CEILF, "__builtin_ceilf", BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LIST) + DEF_C99_C90RES_BUILTIN(BUILT_IN_CEILL, "__builtin_ceill", BT_FN_LONG_DOUBLE_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_ROUND, - "__builtin_round", - BT_FN_DOUBLE_DOUBLE, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_ROUNDF, - "__builtin_roundf", - BT_FN_FLOAT_FLOAT, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_ROUNDL, - "__builtin_roundl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, +DEF_C99_BUILTIN(BUILT_IN_CIMAG, + "__builtin_cimag", + BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_TRUNC, - "__builtin_trunc", - BT_FN_DOUBLE_DOUBLE, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_TRUNCF, - "__builtin_truncf", - BT_FN_FLOAT_FLOAT, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_TRUNCL, - "__builtin_truncl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, +DEF_C99_BUILTIN(BUILT_IN_CIMAGF, + "__builtin_cimagf", + BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_NEARBYINT, - "__builtin_nearbyint", - BT_FN_DOUBLE_DOUBLE, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_NEARBYINTF, - "__builtin_nearbyintf", - BT_FN_FLOAT_FLOAT, +DEF_C99_BUILTIN(BUILT_IN_CIMAGL, + "__builtin_cimagl", + BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_NEARBYINTL, - "__builtin_nearbyintl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, + +DEF_GCC_BUILTIN(BUILT_IN_CLASSIFY_TYPE, + "__builtin_classify_type", + BT_FN_INT_VAR, + ATTR_NULL) + +DEF_GCC_BUILTIN(BUILT_IN_CLZ, + "__builtin_clz", + BT_FN_INT_INT, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_LLABS, - "__builtin_llabs", - BT_FN_LONGLONG_LONGLONG, +DEF_GCC_BUILTIN(BUILT_IN_CLZL, + "__builtin_clzl", + BT_FN_INT_LONG, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_IMAXABS, - "__builtin_imaxabs", - BT_FN_INTMAX_INTMAX, + +DEF_GCC_BUILTIN(BUILT_IN_CLZLL, + "__builtin_clzll", + BT_FN_INT_LONGLONG, ATTR_CONST_NOTHROW_LIST) + DEF_C99_BUILTIN(BUILT_IN_CONJ, "__builtin_conj", BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LIST) + DEF_C99_BUILTIN(BUILT_IN_CONJF, "__builtin_conjf", BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LIST) + DEF_C99_BUILTIN(BUILT_IN_CONJL, "__builtin_conjl", BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_CONSTANT_P, + "__builtin_constant_p", + BT_FN_INT_VAR, + ATTR_CONST_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_COS, + "__builtin_cos", + BT_FN_DOUBLE_DOUBLE, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_COSF, + "__builtin_cosf", + BT_FN_FLOAT_FLOAT, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_COSL, + "__builtin_cosl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + DEF_C99_BUILTIN(BUILT_IN_CREAL, "__builtin_creal", BT_FN_DOUBLE_COMPLEX_DOUBLE, ATTR_CONST_NOTHROW_LIST) + DEF_C99_BUILTIN(BUILT_IN_CREALF, "__builtin_crealf", BT_FN_FLOAT_COMPLEX_FLOAT, ATTR_CONST_NOTHROW_LIST) + DEF_C99_BUILTIN(BUILT_IN_CREALL, "__builtin_creall", BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_CIMAG, - "__builtin_cimag", - BT_FN_DOUBLE_COMPLEX_DOUBLE, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_CIMAGF, - "__builtin_cimagf", - BT_FN_FLOAT_COMPLEX_FLOAT, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_CIMAGL, - "__builtin_cimagl", - BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, - ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_CABS, - "__builtin_cabs", - BT_FN_DOUBLE_COMPLEX_DOUBLE, + +DEF_GCC_BUILTIN(BUILT_IN_CTZ, + "__builtin_ctz", + BT_FN_INT_INT, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_CABSF, - "__builtin_cabsf", - BT_FN_FLOAT_COMPLEX_FLOAT, + +DEF_GCC_BUILTIN(BUILT_IN_CTZL, + "__builtin_ctzl", + BT_FN_INT_LONG, ATTR_CONST_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN_CABSL, - "__builtin_cabsl", - BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, + +DEF_GCC_BUILTIN(BUILT_IN_CTZLL, + "__builtin_ctzll", + BT_FN_INT_LONGLONG, ATTR_CONST_NOTHROW_LIST) -/* These functions have traditionally accepted NULL pointers when the - length parameter is zero, so don't apply attribute "nonnull". */ -DEF_EXT_LIB_BUILTIN(BUILT_IN_BZERO, - "__builtin_bzero", - BT_FN_VOID_PTR_SIZE, - ATTR_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN(BUILT_IN_BCOPY, - "__builtin_bcopy", - BT_FN_VOID_CONST_PTR_PTR_SIZE, - ATTR_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN(BUILT_IN_BCMP, - "__builtin_bcmp", - BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, - ATTR_PURE_NOTHROW_LIST) +DEF_GCC_BUILTIN(BUILT_IN_DWARF_CFA, + "__builtin_dwarf_cfa", + BT_FN_PTR, + ATTR_NULL) -DEF_EXT_LIB_BUILTIN(BUILT_IN_FFS, - "__builtin_ffs", - BT_FN_INT_INT, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_CLZ, - "__builtin_clz", - BT_FN_INT_INT, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_CTZ, - "__builtin_ctz", - BT_FN_INT_INT, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_POPCOUNT, - "__builtin_popcount", - BT_FN_INT_INT, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_PARITY, - "__builtin_parity", - BT_FN_INT_INT, - ATTR_CONST_NOTHROW_LIST) +DEF_GCC_BUILTIN(BUILT_IN_DWARF_SP_COLUMN, + "__builtin_dwarf_sp_column", + BT_FN_UNSIGNED, + ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_FFSL, - "__builtin_ffsl", - BT_FN_INT_LONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_CLZL, - "__builtin_clzl", - BT_FN_INT_LONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_CTZL, - "__builtin_ctzl", - BT_FN_INT_LONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_POPCOUNTL, - "__builtin_popcountl", - BT_FN_INT_LONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_PARITYL, - "__builtin_parityl", - BT_FN_INT_LONG, - ATTR_CONST_NOTHROW_LIST) +DEF_GCC_BUILTIN(BUILT_IN_EH_RETURN, + "__builtin_eh_return", + BT_FN_VOID_PTRMODE_PTR, + ATTR_NORETURN_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN(BUILT_IN_FFSLL, - "__builtin_ffsll", - BT_FN_INT_LONGLONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_CLZLL, - "__builtin_clzll", - BT_FN_INT_LONGLONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_CTZLL, - "__builtin_ctzll", - BT_FN_INT_LONGLONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_POPCOUNTLL, - "__builtin_popcountll", - BT_FN_INT_LONGLONG, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_PARITYLL, - "__builtin_parityll", - BT_FN_INT_LONGLONG, - ATTR_CONST_NOTHROW_LIST) +DEF_GCC_BUILTIN(BUILT_IN_EH_RETURN_DATA_REGNO, + "__builtin_eh_return_data_regno", + BT_FN_INT_INT, + ATTR_NULL) -DEF_EXT_LIB_BUILTIN(BUILT_IN_INDEX, - "__builtin_index", - BT_FN_STRING_CONST_STRING_INT, - ATTR_PURE_NOTHROW_NONNULL_1) -DEF_EXT_LIB_BUILTIN(BUILT_IN_RINDEX, - "__builtin_rindex", - BT_FN_STRING_CONST_STRING_INT, - ATTR_PURE_NOTHROW_NONNULL_1) +DEF_LIB_BUILTIN(BUILT_IN_EXIT, + "__builtin_exit", + BT_FN_VOID_INT, + ATTR_NORETURN_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_MEMCPY, - "__builtin_memcpy", - BT_FN_PTR_PTR_CONST_PTR_SIZE, - ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_MEMMOVE, - "__builtin_memmove", - BT_FN_PTR_PTR_CONST_PTR_SIZE, - ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_MEMCMP, - "__builtin_memcmp", - BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, - ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_MEMSET, - "__builtin_memset", - BT_FN_PTR_PTR_INT_SIZE, - ATTR_NOTHROW_NONNULL_1) -DEF_EXT_LIB_BUILTIN(BUILT_IN_MEMPCPY, - "__builtin_mempcpy", - BT_FN_PTR_PTR_CONST_PTR_SIZE, - ATTR_NOTHROW_NONNULL_1_2) +DEF_EXT_LIB_BUILTIN(BUILT_IN__EXIT, + "__builtin__exit", + BT_FN_VOID_INT, + ATTR_NORETURN_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_STRCAT, - "__builtin_strcat", - BT_FN_STRING_STRING_CONST_STRING, - ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRNCAT, - "__builtin_strncat", - BT_FN_STRING_STRING_CONST_STRING_SIZE, - ATTR_NOTHROW_NONNULL_1_2) -DEF_EXT_LIB_BUILTIN(BUILT_IN_STPCPY, - "__builtin_stpcpy", - BT_FN_STRING_STRING_CONST_STRING, - ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRCPY, - "__builtin_strcpy", - BT_FN_STRING_STRING_CONST_STRING, - ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRNCPY, - "__builtin_strncpy", - BT_FN_STRING_STRING_CONST_STRING_SIZE, - ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRCMP, - "__builtin_strcmp", - BT_FN_INT_CONST_STRING_CONST_STRING, - ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRNCMP, - "__builtin_strncmp", - BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, - ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRLEN, - "__builtin_strlen", - BT_FN_SIZE_CONST_STRING, - ATTR_PURE_NOTHROW_NONNULL_1) -DEF_LIB_BUILTIN(BUILT_IN_STRSTR, - "__builtin_strstr", - BT_FN_STRING_CONST_STRING_CONST_STRING, - ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRPBRK, - "__builtin_strpbrk", - BT_FN_STRING_CONST_STRING_CONST_STRING, - ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRSPN, - "__builtin_strspn", - BT_FN_SIZE_CONST_STRING_CONST_STRING, - ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRCSPN, - "__builtin_strcspn", - BT_FN_SIZE_CONST_STRING_CONST_STRING, - ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_STRCHR, - "__builtin_strchr", - BT_FN_STRING_CONST_STRING_INT, - ATTR_PURE_NOTHROW_NONNULL_1) -DEF_LIB_BUILTIN(BUILT_IN_STRRCHR, - "__builtin_strrchr", - BT_FN_STRING_CONST_STRING_INT, - ATTR_PURE_NOTHROW_NONNULL_1) +DEF_C99_BUILTIN(BUILT_IN__EXIT2, + "__builtin__Exit", + BT_FN_VOID_INT, + ATTR_NORETURN_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_SQRT, - "__builtin_sqrt", - BT_FN_DOUBLE_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_LIB_BUILTIN(BUILT_IN_SIN, - "__builtin_sin", - BT_FN_DOUBLE_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_COS, - "__builtin_cos", - BT_FN_DOUBLE_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) DEF_LIB_BUILTIN(BUILT_IN_EXP, "__builtin_exp", BT_FN_DOUBLE_DOUBLE, @@ -444,61 +384,7 @@ DEF_LIB_BUILTIN(BUILT_IN_EXP, : (flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST : ATTR_PURE_NOTHROW_LIST)) -DEF_LIB_BUILTIN(BUILT_IN_LOG, - "__builtin_log", - BT_FN_DOUBLE_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_LIB_BUILTIN(BUILT_IN_TAN, - "__builtin_tan", - BT_FN_DOUBLE_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_ATAN, - "__builtin_atan", - BT_FN_DOUBLE_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_POW, - "__builtin_pow", - BT_FN_DOUBLE_DOUBLE_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_LIB_BUILTIN(BUILT_IN_ATAN2, - "__builtin_atan2", - BT_FN_DOUBLE_DOUBLE_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_LIB_BUILTIN(BUILT_IN_FMOD, - "__builtin_fmod", - BT_FN_DOUBLE_DOUBLE_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_SQRTF, - "__builtin_sqrtf", - BT_FN_FLOAT_FLOAT, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_SINF, - "__builtin_sinf", - BT_FN_FLOAT_FLOAT, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_COSF, - "__builtin_cosf", - BT_FN_FLOAT_FLOAT, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) + DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPF, "__builtin_expf", BT_FN_FLOAT_FLOAT, @@ -506,61 +392,7 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPF, : (flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_LOGF, - "__builtin_logf", - BT_FN_FLOAT_FLOAT, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_TANF, - "__builtin_tanf", - BT_FN_FLOAT_FLOAT, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_ATANF, - "__builtin_atanf", - BT_FN_FLOAT_FLOAT, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_POWF, - "__builtin_powf", - BT_FN_FLOAT_FLOAT_FLOAT, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_ATAN2F, - "__builtin_atan2f", - BT_FN_FLOAT_FLOAT_FLOAT, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODF, - "__builtin_fmodf", - BT_FN_FLOAT_FLOAT_FLOAT, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_SQRTL, - "__builtin_sqrtl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_SINL, - "__builtin_sinl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_COSL, - "__builtin_cosl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) + DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPL, "__builtin_expl", BT_FN_LONG_DOUBLE_LONG_DOUBLE, @@ -568,37 +400,78 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPL, : (flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_LOGL, - "__builtin_logl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_TANL, - "__builtin_tanl", + +DEF_GCC_BUILTIN(BUILT_IN_EXPECT, + "__builtin_expect", + BT_FN_LONG_LONG_LONG, + ATTR_NULL) + +DEF_GCC_BUILTIN(BUILT_IN_EXTRACT_RETURN_ADDR, + "__builtin_extract_return_addr", + BT_FN_PTR_PTR, + ATTR_NULL) + +DEF_LIB_BUILTIN(BUILT_IN_FABS, + "__builtin_fabs", + BT_FN_DOUBLE_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_FABSF, + "__builtin_fabsf", + BT_FN_FLOAT_FLOAT, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_FABSL, + "__builtin_fabsl", BT_FN_LONG_DOUBLE_LONG_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_ATANL, - "__builtin_atanl", + ATTR_CONST_NOTHROW_LIST) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_FFS, + "__builtin_ffs", + BT_FN_INT_INT, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_FFSL, + "__builtin_ffsl", + BT_FN_INT_LONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_FFSLL, + "__builtin_ffsll", + BT_FN_INT_LONGLONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_FLOOR, + "__builtin_floor", + BT_FN_DOUBLE_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_FLOORF, + "__builtin_floorf", + BT_FN_FLOAT_FLOAT, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_FLOORL, + "__builtin_floorl", BT_FN_LONG_DOUBLE_LONG_DOUBLE, - flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST) -DEF_C99_C90RES_BUILTIN(BUILT_IN_POWL, - "__builtin_powl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE, - flag_errno_math ? ATTR_NOTHROW_LIST - : (flag_unsafe_math_optimizations - ? ATTR_CONST_NOTHROW_LIST - : ATTR_PURE_NOTHROW_LIST)) -DEF_C99_C90RES_BUILTIN(BUILT_IN_ATAN2L, - "__builtin_atan2l", - BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_FMOD, + "__builtin_fmod", + BT_FN_DOUBLE_DOUBLE_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODF, + "__builtin_fmodf", + BT_FN_FLOAT_FLOAT_FLOAT, flag_errno_math ? ATTR_NOTHROW_LIST : (flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST : ATTR_PURE_NOTHROW_LIST)) + DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODL, "__builtin_fmodl", BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE, @@ -607,40 +480,210 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODL, ? ATTR_CONST_NOTHROW_LIST : ATTR_PURE_NOTHROW_LIST)) +DEF_LIB_BUILTIN(BUILT_IN_FPRINTF, + "__builtin_fprintf", + BT_FN_INT_PTR_CONST_STRING_VAR, + ATTR_FORMAT_PRINTF_2_3) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_FPRINTF_UNLOCKED, + "__builtin_fprintf_unlocked", + BT_FN_INT_PTR_CONST_STRING_VAR, + ATTR_FORMAT_PRINTF_2_3) + +DEF_LIB_BUILTIN(BUILT_IN_FPUTC, + "__builtin_fputc", + BT_FN_INT_INT_PTR, + ATTR_NOTHROW_NONNULL_2) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_FPUTC_UNLOCKED, + "__builtin_fputc_unlocked", + BT_FN_INT_INT_PTR, + ATTR_NOTHROW_NONNULL_2) + +DEF_LIB_BUILTIN(BUILT_IN_FPUTS, + "__builtin_fputs", + BT_FN_INT_CONST_STRING_PTR, + ATTR_NOTHROW_NONNULL_1_2) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_FPUTS_UNLOCKED, + "__builtin_fputs_unlocked", + BT_FN_INT_CONST_STRING_PTR, + ATTR_NOTHROW_NONNULL_1_2) + +DEF_GCC_BUILTIN(BUILT_IN_FRAME_ADDRESS, + "__builtin_frame_address", + BT_FN_PTR_UNSIGNED, + ATTR_NULL) + +DEF_GCC_BUILTIN(BUILT_IN_FROB_RETURN_ADDR, + "__builtin_frob_return_addr", + BT_FN_PTR_PTR, + ATTR_NULL) + +DEF_LIB_BUILTIN(BUILT_IN_FWRITE, + "__builtin_fwrite", + BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, + ATTR_NOTHROW_NONNULL_1_4) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_FWRITE_UNLOCKED, + "__builtin_fwrite_unlocked", + BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, + ATTR_NOTHROW_NONNULL_1_4) + +DEF_GCC_BUILTIN(BUILT_IN_HUGE_VAL, + "__builtin_huge_val", + BT_FN_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_HUGE_VALF, + "__builtin_huge_valf", + BT_FN_FLOAT, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_HUGE_VALL, + "__builtin_huge_vall", + BT_FN_LONG_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_IMAXABS, + "__builtin_imaxabs", + BT_FN_INTMAX_INTMAX, + ATTR_CONST_NOTHROW_LIST) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_INDEX, + "__builtin_index", + BT_FN_STRING_CONST_STRING_INT, + ATTR_PURE_NOTHROW_NONNULL_1) + DEF_GCC_BUILTIN(BUILT_IN_INF, "__builtin_inf", BT_FN_DOUBLE, ATTR_CONST_NOTHROW_LIST) + DEF_GCC_BUILTIN(BUILT_IN_INFF, "__builtin_inff", BT_FN_FLOAT, ATTR_CONST_NOTHROW_LIST) + DEF_GCC_BUILTIN(BUILT_IN_INFL, "__builtin_infl", BT_FN_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_HUGE_VAL, - "__builtin_huge_val", - BT_FN_DOUBLE, +DEF_GCC_BUILTIN(BUILT_IN_INIT_DWARF_REG_SIZES, + "__builtin_init_dwarf_reg_size_table", + BT_FN_VOID_PTR, + ATTR_NULL) + +DEF_GCC_BUILTIN(BUILT_IN_ISGREATER, + "__builtin_isgreater", + BT_FN_INT_VAR, ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_HUGE_VALF, - "__builtin_huge_valf", - BT_FN_FLOAT, + +DEF_GCC_BUILTIN(BUILT_IN_ISGREATEREQUAL, + "__builtin_isgreaterequal", + BT_FN_INT_VAR, ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_HUGE_VALL, - "__builtin_huge_vall", - BT_FN_LONG_DOUBLE, + +DEF_GCC_BUILTIN(BUILT_IN_ISLESS, + "__builtin_isless", + BT_FN_INT_VAR, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_ISLESSEQUAL, + "__builtin_islessequal", + BT_FN_INT_VAR, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_ISLESSGREATER, + "__builtin_islessgreater", + BT_FN_INT_VAR, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_ISUNORDERED, + "__builtin_isunordered", + BT_FN_INT_VAR, ATTR_CONST_NOTHROW_LIST) +DEF_LIB_BUILTIN(BUILT_IN_LABS, + "__builtin_labs", + BT_FN_LONG_LONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_LLABS, + "__builtin_llabs", + BT_FN_LONGLONG_LONGLONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_LOG, + "__builtin_log", + BT_FN_DOUBLE_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_LOGF, + "__builtin_logf", + BT_FN_FLOAT_FLOAT, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_LOGL, + "__builtin_logl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_GCC_BUILTIN(BUILT_IN_LONGJMP, + "__builtin_longjmp", + BT_FN_VOID_PTR_INT, + ATTR_NORETURN_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_MALLOC, + "__builtin_malloc", + BT_FN_PTR_SIZE, + ATTR_MALLOC_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_MEMCMP, + "__builtin_memcmp", + BT_FN_INT_CONST_PTR_CONST_PTR_SIZE, + ATTR_PURE_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_MEMCPY, + "__builtin_memcpy", + BT_FN_PTR_PTR_CONST_PTR_SIZE, + ATTR_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_MEMMOVE, + "__builtin_memmove", + BT_FN_PTR_PTR_CONST_PTR_SIZE, + ATTR_NOTHROW_NONNULL_1_2) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_MEMPCPY, + "__builtin_mempcpy", + BT_FN_PTR_PTR_CONST_PTR_SIZE, + ATTR_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_MEMSET, + "__builtin_memset", + BT_FN_PTR_PTR_INT_SIZE, + ATTR_NOTHROW_NONNULL_1) + DEF_LIB_BUILTIN(BUILT_IN_NAN, "__builtin_nan", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) + DEF_LIB_BUILTIN(BUILT_IN_NANF, "__builtin_nanf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) + DEF_LIB_BUILTIN(BUILT_IN_NANL, "__builtin_nanl", BT_FN_LONG_DOUBLE_CONST_STRING, @@ -650,305 +693,388 @@ DEF_LIB_BUILTIN(BUILT_IN_NANS, "__builtin_nans", BT_FN_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) + DEF_LIB_BUILTIN(BUILT_IN_NANSF, "__builtin_nansf", BT_FN_FLOAT_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) + DEF_LIB_BUILTIN(BUILT_IN_NANSL, "__builtin_nansl", BT_FN_LONG_DOUBLE_CONST_STRING, ATTR_CONST_NOTHROW_NONNULL_1) -DEF_GCC_BUILTIN(BUILT_IN_SAVEREGS, - "__builtin_saveregs", - BT_FN_PTR_VAR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_CLASSIFY_TYPE, - "__builtin_classify_type", - BT_FN_INT_VAR, - ATTR_NULL) +DEF_C99_BUILTIN(BUILT_IN_NEARBYINT, + "__builtin_nearbyint", + BT_FN_DOUBLE_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_NEARBYINTF, + "__builtin_nearbyintf", + BT_FN_FLOAT_FLOAT, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_NEARBYINTL, + "__builtin_nearbyintl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + DEF_GCC_BUILTIN(BUILT_IN_NEXT_ARG, "__builtin_next_arg", BT_FN_PTR_VAR, ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_ARGS_INFO, - "__builtin_args_info", + +DEF_GCC_BUILTIN(BUILT_IN_PARITY, + "__builtin_parity", BT_FN_INT_INT, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_CONSTANT_P, - "__builtin_constant_p", - BT_FN_INT_VAR, ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_FRAME_ADDRESS, - "__builtin_frame_address", - BT_FN_PTR_UNSIGNED, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_RETURN_ADDRESS, - "__builtin_return_address", - BT_FN_PTR_UNSIGNED, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_AGGREGATE_INCOMING_ADDRESS, - "__builtin_aggregate_incoming_address", - BT_FN_PTR_VAR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_APPLY_ARGS, - "__builtin_apply_args", - BT_FN_PTR_VAR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_APPLY, - "__builtin_apply", - BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_RETURN, - "__builtin_return", - BT_FN_VOID_PTR, - ATTR_NORETURN_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_SETJMP, - "__builtin_setjmp", - BT_FN_INT_PTR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_LONGJMP, - "__builtin_longjmp", - BT_FN_VOID_PTR_INT, - ATTR_NORETURN_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_TRAP, - "__builtin_trap", - BT_FN_VOID, - ATTR_NORETURN_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_PARITYL, + "__builtin_parityl", + BT_FN_INT_LONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_PARITYLL, + "__builtin_parityll", + BT_FN_INT_LONGLONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_POPCOUNT, + "__builtin_popcount", + BT_FN_INT_INT, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_POPCOUNTL, + "__builtin_popcountl", + BT_FN_INT_LONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_POPCOUNTLL, + "__builtin_popcountll", + BT_FN_INT_LONGLONG, + ATTR_CONST_NOTHROW_LIST) + +DEF_LIB_BUILTIN(BUILT_IN_POW, + "__builtin_pow", + BT_FN_DOUBLE_DOUBLE_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_POWF, + "__builtin_powf", + BT_FN_FLOAT_FLOAT_FLOAT, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_POWL, + "__builtin_powl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + DEF_GCC_BUILTIN(BUILT_IN_PREFETCH, "__builtin_prefetch", BT_FN_VOID_CONST_PTR_VAR, ATTR_NULL) -/* stdio.h builtins (without FILE *). */ - DEF_LIB_BUILTIN(BUILT_IN_PRINTF, "__builtin_printf", BT_FN_INT_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_1_2) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_PRINTF_UNLOCKED, + "__builtin_printf_unlocked", + BT_FN_INT_CONST_STRING_VAR, + ATTR_FORMAT_PRINTF_1_2) + DEF_LIB_BUILTIN(BUILT_IN_PUTCHAR, "__builtin_putchar", BT_FN_INT_INT, ATTR_NOTHROW_LIST) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_PUTCHAR_UNLOCKED, + "__builtin_putchar_unlocked", + BT_FN_INT_INT, + ATTR_NOTHROW_LIST) + DEF_LIB_BUILTIN(BUILT_IN_PUTS, "__builtin_puts", BT_FN_INT_CONST_STRING, ATTR_NOTHROW_NONNULL_1) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_PUTS_UNLOCKED, + "__builtin_puts_unlocked", + BT_FN_INT_CONST_STRING, + ATTR_NOTHROW_NONNULL_1) + +DEF_GCC_BUILTIN(BUILT_IN_RETURN, + "__builtin_return", + BT_FN_VOID_PTR, + ATTR_NORETURN_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_RETURN_ADDRESS, + "__builtin_return_address", + BT_FN_PTR_UNSIGNED, + ATTR_NULL) + +DEF_EXT_LIB_BUILTIN(BUILT_IN_RINDEX, + "__builtin_rindex", + BT_FN_STRING_CONST_STRING_INT, + ATTR_PURE_NOTHROW_NONNULL_1) + +DEF_C99_BUILTIN(BUILT_IN_ROUND, + "__builtin_round", + BT_FN_DOUBLE_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_ROUNDF, + "__builtin_roundf", + BT_FN_FLOAT_FLOAT, + ATTR_CONST_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_ROUNDL, + "__builtin_roundl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + ATTR_CONST_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_SAVEREGS, + "__builtin_saveregs", + BT_FN_PTR_VAR, + ATTR_NULL) + +DEF_LIB_BUILTIN(BUILT_IN_SCANF, + "__builtin_scanf", + BT_FN_INT_CONST_STRING_VAR, + ATTR_FORMAT_SCANF_1_2) + +DEF_GCC_BUILTIN(BUILT_IN_SETJMP, + "__builtin_setjmp", + BT_FN_INT_PTR, + ATTR_NULL) + +DEF_LIB_BUILTIN(BUILT_IN_SIN, + "__builtin_sin", + BT_FN_DOUBLE_DOUBLE, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_SINF, + "__builtin_sinf", + BT_FN_FLOAT_FLOAT, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_SINL, + "__builtin_sinl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + DEF_C99_BUILTIN(BUILT_IN_SNPRINTF, "__builtin_snprintf", BT_FN_INT_STRING_SIZE_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_3_4) + DEF_LIB_BUILTIN(BUILT_IN_SPRINTF, "__builtin_sprintf", BT_FN_INT_STRING_CONST_STRING_VAR, ATTR_FORMAT_PRINTF_2_3) -DEF_LIB_BUILTIN(BUILT_IN_SCANF, - "__builtin_scanf", - BT_FN_INT_CONST_STRING_VAR, - ATTR_FORMAT_SCANF_1_2) + DEF_LIB_BUILTIN(BUILT_IN_SSCANF, "__builtin_sscanf", BT_FN_INT_CONST_STRING_CONST_STRING_VAR, ATTR_FORMAT_SCANF_2_3) -DEF_LIB_BUILTIN(BUILT_IN_VPRINTF, - "__builtin_vprintf", - BT_FN_INT_CONST_STRING_VALIST_ARG, - ATTR_FORMAT_PRINTF_1_0) -DEF_C99_BUILTIN(BUILT_IN_VSCANF, - "__builtin_vscanf", - BT_FN_INT_CONST_STRING_VALIST_ARG, - ATTR_FORMAT_SCANF_1_0) -DEF_C99_BUILTIN(BUILT_IN_VSSCANF, - "__builtin_vsscanf", - BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, - ATTR_FORMAT_SCANF_2_0) -DEF_C99_BUILTIN(BUILT_IN_VSNPRINTF, - "__builtin_vsnprintf", - BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, - ATTR_FORMAT_PRINTF_3_0) -DEF_LIB_BUILTIN(BUILT_IN_VSPRINTF, - "__builtin_vsprintf", - BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, - ATTR_FORMAT_PRINTF_2_0) +DEF_GCC_BUILTIN(BUILT_IN_STDARG_START, /* backward compat */ + "__builtin_stdarg_start", + BT_FN_VOID_VALIST_REF_VAR, + ATTR_NULL) -/* stdio.h builtins (with FILE *). */ +DEF_EXT_LIB_BUILTIN(BUILT_IN_STPCPY, + "__builtin_stpcpy", + BT_FN_STRING_STRING_CONST_STRING, + ATTR_NOTHROW_NONNULL_1_2) -/* Declare the __builtin_ style with arguments and the regular style - without them. We rely on stdio.h to supply the arguments for the - regular style declaration since we had to use void* instead of - FILE* in the __builtin_ prototype supplied here. */ +DEF_LIB_BUILTIN(BUILT_IN_STRCAT, + "__builtin_strcat", + BT_FN_STRING_STRING_CONST_STRING, + ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_FPUTC, - "__builtin_fputc", - BT_FN_INT_INT_PTR, - ATTR_NOTHROW_NONNULL_2) -DEF_LIB_BUILTIN(BUILT_IN_FPUTS, - "__builtin_fputs", - BT_FN_INT_CONST_STRING_PTR, +DEF_LIB_BUILTIN(BUILT_IN_STRCHR, + "__builtin_strchr", + BT_FN_STRING_CONST_STRING_INT, + ATTR_PURE_NOTHROW_NONNULL_1) + +DEF_LIB_BUILTIN(BUILT_IN_STRCMP, + "__builtin_strcmp", + BT_FN_INT_CONST_STRING_CONST_STRING, + ATTR_PURE_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_STRCPY, + "__builtin_strcpy", + BT_FN_STRING_STRING_CONST_STRING, ATTR_NOTHROW_NONNULL_1_2) -DEF_LIB_BUILTIN(BUILT_IN_FWRITE, - "__builtin_fwrite", - BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, - ATTR_NOTHROW_NONNULL_1_4) -DEF_LIB_BUILTIN(BUILT_IN_FPRINTF, - "__builtin_fprintf", - BT_FN_INT_PTR_CONST_STRING_VAR, - ATTR_FORMAT_PRINTF_2_3) -/* stdio unlocked builtins (without FILE *). */ +DEF_LIB_BUILTIN(BUILT_IN_STRCSPN, + "__builtin_strcspn", + BT_FN_SIZE_CONST_STRING_CONST_STRING, + ATTR_PURE_NOTHROW_NONNULL_1_2) -DEF_EXT_LIB_BUILTIN(BUILT_IN_PUTCHAR_UNLOCKED, - "__builtin_putchar_unlocked", - BT_FN_INT_INT, - ATTR_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN(BUILT_IN_PUTS_UNLOCKED, - "__builtin_puts_unlocked", - BT_FN_INT_CONST_STRING, - ATTR_NOTHROW_NONNULL_1) -DEF_EXT_LIB_BUILTIN(BUILT_IN_PRINTF_UNLOCKED, - "__builtin_printf_unlocked", - BT_FN_INT_CONST_STRING_VAR, - ATTR_FORMAT_PRINTF_1_2) +DEF_EXT_LIB_BUILTIN(BUILT_IN_STRDUP, + "__builtin_strdup", + BT_FN_STRING_CONST_STRING, + ATTR_MALLOC_NOTHROW_NONNULL_1) -/* stdio unlocked builtins (with FILE *). */ +DEF_LIB_BUILTIN(BUILT_IN_STRLEN, + "__builtin_strlen", + BT_FN_SIZE_CONST_STRING, + ATTR_PURE_NOTHROW_NONNULL_1) -/* Declare the __builtin_ style with arguments and the regular style - without them. We rely on stdio.h to supply the arguments for the - regular style declaration since we had to use void* instead of - FILE* in the __builtin_ prototype supplied here. */ +DEF_LIB_BUILTIN(BUILT_IN_STRNCAT, + "__builtin_strncat", + BT_FN_STRING_STRING_CONST_STRING_SIZE, + ATTR_NOTHROW_NONNULL_1_2) -DEF_EXT_LIB_BUILTIN(BUILT_IN_FPUTC_UNLOCKED, - "__builtin_fputc_unlocked", - BT_FN_INT_INT_PTR, - ATTR_NOTHROW_NONNULL_2) -DEF_EXT_LIB_BUILTIN(BUILT_IN_FPUTS_UNLOCKED, - "__builtin_fputs_unlocked", - BT_FN_INT_CONST_STRING_PTR, - ATTR_NOTHROW_NONNULL_1_2) -DEF_EXT_LIB_BUILTIN(BUILT_IN_FWRITE_UNLOCKED, - "__builtin_fwrite_unlocked", - BT_FN_SIZE_CONST_PTR_SIZE_SIZE_PTR, - ATTR_NOTHROW_NONNULL_1_4) -DEF_EXT_LIB_BUILTIN(BUILT_IN_FPRINTF_UNLOCKED, - "__builtin_fprintf_unlocked", - BT_FN_INT_PTR_CONST_STRING_VAR, - ATTR_FORMAT_PRINTF_2_3) +DEF_LIB_BUILTIN(BUILT_IN_STRNCMP, + "__builtin_strncmp", + BT_FN_INT_CONST_STRING_CONST_STRING_SIZE, + ATTR_PURE_NOTHROW_NONNULL_1_2) - /* ISO C99 floating point unordered comparisons. */ -DEF_GCC_BUILTIN(BUILT_IN_ISGREATER, - "__builtin_isgreater", - BT_FN_INT_VAR, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_ISGREATEREQUAL, - "__builtin_isgreaterequal", - BT_FN_INT_VAR, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_ISLESS, - "__builtin_isless", - BT_FN_INT_VAR, - ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_ISLESSEQUAL, - "__builtin_islessequal", - BT_FN_INT_VAR, +DEF_LIB_BUILTIN(BUILT_IN_STRNCPY, + "__builtin_strncpy", + BT_FN_STRING_STRING_CONST_STRING_SIZE, + ATTR_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_STRPBRK, + "__builtin_strpbrk", + BT_FN_STRING_CONST_STRING_CONST_STRING, + ATTR_PURE_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_STRRCHR, + "__builtin_strrchr", + BT_FN_STRING_CONST_STRING_INT, + ATTR_PURE_NOTHROW_NONNULL_1) + +DEF_LIB_BUILTIN(BUILT_IN_STRSPN, + "__builtin_strspn", + BT_FN_SIZE_CONST_STRING_CONST_STRING, + ATTR_PURE_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_STRSTR, + "__builtin_strstr", + BT_FN_STRING_CONST_STRING_CONST_STRING, + ATTR_PURE_NOTHROW_NONNULL_1_2) + +DEF_LIB_BUILTIN(BUILT_IN_SQRT, + "__builtin_sqrt", + BT_FN_DOUBLE_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_SQRTF, + "__builtin_sqrtf", + BT_FN_FLOAT_FLOAT, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_SQRTL, + "__builtin_sqrtl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) + +DEF_LIB_BUILTIN(BUILT_IN_TAN, + "__builtin_tan", + BT_FN_DOUBLE_DOUBLE, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_TANF, + "__builtin_tanf", + BT_FN_FLOAT_FLOAT, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_C99_C90RES_BUILTIN(BUILT_IN_TANL, + "__builtin_tanl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST) + +DEF_GCC_BUILTIN(BUILT_IN_TRAP, + "__builtin_trap", + BT_FN_VOID, + ATTR_NORETURN_NOTHROW_LIST) + +DEF_C99_BUILTIN(BUILT_IN_TRUNC, + "__builtin_trunc", + BT_FN_DOUBLE_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_ISLESSGREATER, - "__builtin_islessgreater", - BT_FN_INT_VAR, + +DEF_C99_BUILTIN(BUILT_IN_TRUNCF, + "__builtin_truncf", + BT_FN_FLOAT_FLOAT, ATTR_CONST_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_ISUNORDERED, - "__builtin_isunordered", - BT_FN_INT_VAR, + +DEF_C99_BUILTIN(BUILT_IN_TRUNCL, + "__builtin_truncl", + BT_FN_LONG_DOUBLE_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST) -/* Various hooks for the DWARF 2 __throw routine. */ DEF_GCC_BUILTIN(BUILT_IN_UNWIND_INIT, "__builtin_unwind_init", BT_FN_VOID, ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_DWARF_CFA, - "__builtin_dwarf_cfa", - BT_FN_PTR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_DWARF_SP_COLUMN, - "__builtin_dwarf_sp_column", - BT_FN_UNSIGNED, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_INIT_DWARF_REG_SIZES, - "__builtin_init_dwarf_reg_size_table", - BT_FN_VOID_PTR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_FROB_RETURN_ADDR, - "__builtin_frob_return_addr", - BT_FN_PTR_PTR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_EXTRACT_RETURN_ADDR, - "__builtin_extract_return_addr", - BT_FN_PTR_PTR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_EH_RETURN, - "__builtin_eh_return", - BT_FN_VOID_PTRMODE_PTR, - ATTR_NORETURN_NOTHROW_LIST) -DEF_GCC_BUILTIN(BUILT_IN_EH_RETURN_DATA_REGNO, - "__builtin_eh_return_data_regno", - BT_FN_INT_INT, - ATTR_NULL) -/* Variable argument list (stdarg.h) support */ -DEF_GCC_BUILTIN(BUILT_IN_VA_START, - "__builtin_va_start", - BT_FN_VOID_VALIST_REF_VAR, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_STDARG_START, /* backward compat */ - "__builtin_stdarg_start", - BT_FN_VOID_VALIST_REF_VAR, +DEF_GCC_BUILTIN(BUILT_IN_VA_COPY, + "__builtin_va_copy", + BT_FN_VOID_VALIST_REF_VALIST_ARG, ATTR_NULL) + DEF_GCC_BUILTIN(BUILT_IN_VA_END, "__builtin_va_end", BT_FN_VOID_VALIST_REF, ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_VA_COPY, - "__builtin_va_copy", - BT_FN_VOID_VALIST_REF_VALIST_ARG, - ATTR_NULL) -DEF_GCC_BUILTIN(BUILT_IN_EXPECT, - "__builtin_expect", - BT_FN_LONG_LONG_LONG, +DEF_GCC_BUILTIN(BUILT_IN_VA_START, + "__builtin_va_start", + BT_FN_VOID_VALIST_REF_VAR, ATTR_NULL) -/* Declare abort, exit, _exit and _Exit */ -DEF_LIB_BUILTIN(BUILT_IN_ABORT, - "__builtin_abort", - BT_FN_VOID, - ATTR_NORETURN_NOTHROW_LIST) -DEF_LIB_BUILTIN(BUILT_IN_EXIT, - "__builtin_exit", - BT_FN_VOID_INT, - ATTR_NORETURN_NOTHROW_LIST) -DEF_EXT_LIB_BUILTIN(BUILT_IN__EXIT, - "__builtin__exit", - BT_FN_VOID_INT, - ATTR_NORETURN_NOTHROW_LIST) -DEF_C99_BUILTIN(BUILT_IN__EXIT2, - "__builtin__Exit", - BT_FN_VOID_INT, - ATTR_NORETURN_NOTHROW_LIST) +DEF_LIB_BUILTIN(BUILT_IN_VPRINTF, + "__builtin_vprintf", + BT_FN_INT_CONST_STRING_VALIST_ARG, + ATTR_FORMAT_PRINTF_1_0) -/* Declare malloc, calloc and strdup. */ -DEF_LIB_BUILTIN(BUILT_IN_MALLOC, - "__builtin_malloc", - BT_FN_PTR_SIZE, - ATTR_MALLOC_NOTHROW_LIST) +DEF_C99_BUILTIN(BUILT_IN_VSCANF, + "__builtin_vscanf", + BT_FN_INT_CONST_STRING_VALIST_ARG, + ATTR_FORMAT_SCANF_1_0) -DEF_LIB_BUILTIN(BUILT_IN_CALLOC, - "__builtin_calloc", - BT_FN_PTR_SIZE_SIZE, - ATTR_MALLOC_NOTHROW_LIST) +DEF_C99_BUILTIN(BUILT_IN_VSNPRINTF, + "__builtin_vsnprintf", + BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG, + ATTR_FORMAT_PRINTF_3_0) -DEF_EXT_LIB_BUILTIN(BUILT_IN_STRDUP, - "__builtin_strdup", - BT_FN_STRING_CONST_STRING, - ATTR_MALLOC_NOTHROW_NONNULL_1) +DEF_LIB_BUILTIN(BUILT_IN_VSPRINTF, + "__builtin_vsprintf", + BT_FN_INT_STRING_CONST_STRING_VALIST_ARG, + ATTR_FORMAT_PRINTF_2_0) + +DEF_C99_BUILTIN(BUILT_IN_VSSCANF, + "__builtin_vsscanf", + BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG, + ATTR_FORMAT_SCANF_2_0) |