Commit 1aa0a5f6 by Roger Sayle Committed by Roger Sayle

* builtins.def: Alphabetize.

From-SVN: r69989
parent 4bd0bee9
2003-07-30 Roger Sayle <roger@eyesopen.com>
* builtins.def: Alphabetize.
2003-07-30 Matt Kraai <kraai@alumni.cmu.edu> 2003-07-30 Matt Kraai <kraai@alumni.cmu.edu>
* doc/c-tree.texi: Normalize spellings of "lowercase" and * doc/c-tree.texi: Normalize spellings of "lowercase" and
......
...@@ -106,337 +106,277 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -106,337 +106,277 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
true, true, !flag_isoc99, ATTRS, TARGET_C99_FUNCTIONS) 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, DEF_EXT_LIB_BUILTIN(BUILT_IN_ALLOCA,
"__builtin_alloca", "__builtin_alloca",
BT_FN_PTR_SIZE, BT_FN_PTR_SIZE,
ATTR_MALLOC_NOTHROW_LIST) ATTR_MALLOC_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_ABS, DEF_GCC_BUILTIN(BUILT_IN_APPLY,
"__builtin_abs", "__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, BT_FN_INT_INT,
ATTR_CONST_NOTHROW_LIST) ATTR_NULL)
DEF_LIB_BUILTIN(BUILT_IN_LABS,
"__builtin_labs",
BT_FN_LONG_LONG,
ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_FABS, DEF_LIB_BUILTIN(BUILT_IN_ATAN,
"__builtin_fabs", "__builtin_atan",
BT_FN_DOUBLE_DOUBLE, BT_FN_DOUBLE_DOUBLE,
ATTR_CONST_NOTHROW_LIST) flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST
DEF_C99_C90RES_BUILTIN(BUILT_IN_FABSF, : ATTR_PURE_NOTHROW_LIST)
"__builtin_fabsf",
DEF_C99_C90RES_BUILTIN(BUILT_IN_ATANF,
"__builtin_atanf",
BT_FN_FLOAT_FLOAT, BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST) flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST
DEF_C99_C90RES_BUILTIN(BUILT_IN_FABSL, : ATTR_PURE_NOTHROW_LIST)
"__builtin_fabsl",
DEF_C99_C90RES_BUILTIN(BUILT_IN_ATANL,
"__builtin_atanl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE, 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, DEF_LIB_BUILTIN(BUILT_IN_ATAN2,
"__builtin_floor", "__builtin_atan2",
BT_FN_DOUBLE_DOUBLE, 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_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) ATTR_CONST_NOTHROW_LIST)
DEF_C99_C90RES_BUILTIN(BUILT_IN_FLOORF,
"__builtin_floorf", DEF_LIB_BUILTIN(BUILT_IN_CALLOC,
BT_FN_FLOAT_FLOAT, "__builtin_calloc",
ATTR_CONST_NOTHROW_LIST) BT_FN_PTR_SIZE_SIZE,
DEF_C99_C90RES_BUILTIN(BUILT_IN_FLOORL, ATTR_MALLOC_NOTHROW_LIST)
"__builtin_floorl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_CEIL, DEF_LIB_BUILTIN(BUILT_IN_CEIL,
"__builtin_ceil", "__builtin_ceil",
BT_FN_DOUBLE_DOUBLE, BT_FN_DOUBLE_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_C90RES_BUILTIN(BUILT_IN_CEILF, DEF_C99_C90RES_BUILTIN(BUILT_IN_CEILF,
"__builtin_ceilf", "__builtin_ceilf",
BT_FN_FLOAT_FLOAT, BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_C90RES_BUILTIN(BUILT_IN_CEILL, DEF_C99_C90RES_BUILTIN(BUILT_IN_CEILL,
"__builtin_ceill", "__builtin_ceill",
BT_FN_LONG_DOUBLE_LONG_DOUBLE, BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_ROUND, DEF_C99_BUILTIN(BUILT_IN_CIMAG,
"__builtin_round", "__builtin_cimag",
BT_FN_DOUBLE_DOUBLE, BT_FN_DOUBLE_COMPLEX_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) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_TRUNC, DEF_C99_BUILTIN(BUILT_IN_CIMAGF,
"__builtin_trunc", "__builtin_cimagf",
BT_FN_DOUBLE_DOUBLE, BT_FN_FLOAT_COMPLEX_FLOAT,
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,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_NEARBYINT, DEF_C99_BUILTIN(BUILT_IN_CIMAGL,
"__builtin_nearbyint", "__builtin_cimagl",
BT_FN_DOUBLE_DOUBLE, BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_NEARBYINTF,
"__builtin_nearbyintf",
BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_NEARBYINTL,
"__builtin_nearbyintl", DEF_GCC_BUILTIN(BUILT_IN_CLASSIFY_TYPE,
BT_FN_LONG_DOUBLE_LONG_DOUBLE, "__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) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_LLABS, DEF_GCC_BUILTIN(BUILT_IN_CLZL,
"__builtin_llabs", "__builtin_clzl",
BT_FN_LONGLONG_LONGLONG, BT_FN_INT_LONG,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_IMAXABS,
"__builtin_imaxabs", DEF_GCC_BUILTIN(BUILT_IN_CLZLL,
BT_FN_INTMAX_INTMAX, "__builtin_clzll",
BT_FN_INT_LONGLONG,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJ, DEF_C99_BUILTIN(BUILT_IN_CONJ,
"__builtin_conj", "__builtin_conj",
BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE, BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJF, DEF_C99_BUILTIN(BUILT_IN_CONJF,
"__builtin_conjf", "__builtin_conjf",
BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT, BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CONJL, DEF_C99_BUILTIN(BUILT_IN_CONJL,
"__builtin_conjl", "__builtin_conjl",
BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, BT_FN_COMPLEX_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST) 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, DEF_C99_BUILTIN(BUILT_IN_CREAL,
"__builtin_creal", "__builtin_creal",
BT_FN_DOUBLE_COMPLEX_DOUBLE, BT_FN_DOUBLE_COMPLEX_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREALF, DEF_C99_BUILTIN(BUILT_IN_CREALF,
"__builtin_crealf", "__builtin_crealf",
BT_FN_FLOAT_COMPLEX_FLOAT, BT_FN_FLOAT_COMPLEX_FLOAT,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CREALL, DEF_C99_BUILTIN(BUILT_IN_CREALL,
"__builtin_creall", "__builtin_creall",
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CIMAG,
"__builtin_cimag", DEF_GCC_BUILTIN(BUILT_IN_CTZ,
BT_FN_DOUBLE_COMPLEX_DOUBLE, "__builtin_ctz",
ATTR_CONST_NOTHROW_LIST) BT_FN_INT_INT,
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,
ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CABSF,
"__builtin_cabsf",
BT_FN_FLOAT_COMPLEX_FLOAT,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_C99_BUILTIN(BUILT_IN_CABSL,
"__builtin_cabsl", DEF_GCC_BUILTIN(BUILT_IN_CTZL,
BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, "__builtin_ctzl",
BT_FN_INT_LONG,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
/* These functions have traditionally accepted NULL pointers when the DEF_GCC_BUILTIN(BUILT_IN_CTZLL,
length parameter is zero, so don't apply attribute "nonnull". */ "__builtin_ctzll",
DEF_EXT_LIB_BUILTIN(BUILT_IN_BZERO, BT_FN_INT_LONGLONG,
"__builtin_bzero", ATTR_CONST_NOTHROW_LIST)
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_EXT_LIB_BUILTIN(BUILT_IN_FFS, DEF_GCC_BUILTIN(BUILT_IN_DWARF_CFA,
"__builtin_ffs", "__builtin_dwarf_cfa",
BT_FN_INT_INT, BT_FN_PTR,
ATTR_CONST_NOTHROW_LIST) ATTR_NULL)
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_FFSL, DEF_GCC_BUILTIN(BUILT_IN_DWARF_SP_COLUMN,
"__builtin_ffsl", "__builtin_dwarf_sp_column",
BT_FN_INT_LONG, BT_FN_UNSIGNED,
ATTR_CONST_NOTHROW_LIST) ATTR_NULL)
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_EXT_LIB_BUILTIN(BUILT_IN_FFSLL, DEF_GCC_BUILTIN(BUILT_IN_EH_RETURN,
"__builtin_ffsll", "__builtin_eh_return",
BT_FN_INT_LONGLONG, BT_FN_VOID_PTRMODE_PTR,
ATTR_CONST_NOTHROW_LIST) ATTR_NORETURN_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_EXT_LIB_BUILTIN(BUILT_IN_INDEX, DEF_GCC_BUILTIN(BUILT_IN_EH_RETURN_DATA_REGNO,
"__builtin_index", "__builtin_eh_return_data_regno",
BT_FN_STRING_CONST_STRING_INT, BT_FN_INT_INT,
ATTR_PURE_NOTHROW_NONNULL_1) ATTR_NULL)
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_MEMCPY, DEF_LIB_BUILTIN(BUILT_IN_EXIT,
"__builtin_memcpy", "__builtin_exit",
BT_FN_PTR_PTR_CONST_PTR_SIZE, BT_FN_VOID_INT,
ATTR_NOTHROW_NONNULL_1_2) ATTR_NORETURN_NOTHROW_LIST)
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_LIB_BUILTIN(BUILT_IN_STRCAT, DEF_EXT_LIB_BUILTIN(BUILT_IN__EXIT,
"__builtin_strcat", "__builtin__exit",
BT_FN_STRING_STRING_CONST_STRING, BT_FN_VOID_INT,
ATTR_NOTHROW_NONNULL_1_2) ATTR_NORETURN_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_STRNCAT,
"__builtin_strncat", DEF_C99_BUILTIN(BUILT_IN__EXIT2,
BT_FN_STRING_STRING_CONST_STRING_SIZE, "__builtin__Exit",
ATTR_NOTHROW_NONNULL_1_2) BT_FN_VOID_INT,
DEF_EXT_LIB_BUILTIN(BUILT_IN_STPCPY, ATTR_NORETURN_NOTHROW_LIST)
"__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_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, DEF_LIB_BUILTIN(BUILT_IN_EXP,
"__builtin_exp", "__builtin_exp",
BT_FN_DOUBLE_DOUBLE, BT_FN_DOUBLE_DOUBLE,
...@@ -444,61 +384,7 @@ DEF_LIB_BUILTIN(BUILT_IN_EXP, ...@@ -444,61 +384,7 @@ DEF_LIB_BUILTIN(BUILT_IN_EXP,
: (flag_unsafe_math_optimizations : (flag_unsafe_math_optimizations
? ATTR_CONST_NOTHROW_LIST ? ATTR_CONST_NOTHROW_LIST
: ATTR_PURE_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, DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPF,
"__builtin_expf", "__builtin_expf",
BT_FN_FLOAT_FLOAT, BT_FN_FLOAT_FLOAT,
...@@ -506,99 +392,86 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPF, ...@@ -506,99 +392,86 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPF,
: (flag_unsafe_math_optimizations : (flag_unsafe_math_optimizations
? ATTR_CONST_NOTHROW_LIST ? ATTR_CONST_NOTHROW_LIST
: ATTR_PURE_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, DEF_C99_C90RES_BUILTIN(BUILT_IN_EXPL,
"__builtin_expl", "__builtin_expl",
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_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",
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",
BT_FN_LONG_DOUBLE_LONG_DOUBLE, 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_errno_math ? ATTR_NOTHROW_LIST
: (flag_unsafe_math_optimizations : (flag_unsafe_math_optimizations
? ATTR_CONST_NOTHROW_LIST ? ATTR_CONST_NOTHROW_LIST
: ATTR_PURE_NOTHROW_LIST)) : ATTR_PURE_NOTHROW_LIST))
DEF_C99_C90RES_BUILTIN(BUILT_IN_ATAN2L,
"__builtin_atan2l", DEF_GCC_BUILTIN(BUILT_IN_EXPECT,
BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE, "__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,
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,
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_errno_math ? ATTR_NOTHROW_LIST
: (flag_unsafe_math_optimizations : (flag_unsafe_math_optimizations
? ATTR_CONST_NOTHROW_LIST ? ATTR_CONST_NOTHROW_LIST
: ATTR_PURE_NOTHROW_LIST)) : ATTR_PURE_NOTHROW_LIST))
DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODL, DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODL,
"__builtin_fmodl", "__builtin_fmodl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE, BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE,
...@@ -607,40 +480,210 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODL, ...@@ -607,40 +480,210 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_FMODL,
? ATTR_CONST_NOTHROW_LIST ? ATTR_CONST_NOTHROW_LIST
: ATTR_PURE_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, DEF_GCC_BUILTIN(BUILT_IN_INF,
"__builtin_inf", "__builtin_inf",
BT_FN_DOUBLE, BT_FN_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_INFF, DEF_GCC_BUILTIN(BUILT_IN_INFF,
"__builtin_inff", "__builtin_inff",
BT_FN_FLOAT, BT_FN_FLOAT,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_INFL, DEF_GCC_BUILTIN(BUILT_IN_INFL,
"__builtin_infl", "__builtin_infl",
BT_FN_LONG_DOUBLE, BT_FN_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_HUGE_VAL, DEF_GCC_BUILTIN(BUILT_IN_INIT_DWARF_REG_SIZES,
"__builtin_huge_val", "__builtin_init_dwarf_reg_size_table",
BT_FN_DOUBLE, BT_FN_VOID_PTR,
ATTR_NULL)
DEF_GCC_BUILTIN(BUILT_IN_ISGREATER,
"__builtin_isgreater",
BT_FN_INT_VAR,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_HUGE_VALF,
"__builtin_huge_valf", DEF_GCC_BUILTIN(BUILT_IN_ISGREATEREQUAL,
BT_FN_FLOAT, "__builtin_isgreaterequal",
BT_FN_INT_VAR,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_HUGE_VALL,
"__builtin_huge_vall", DEF_GCC_BUILTIN(BUILT_IN_ISLESS,
BT_FN_LONG_DOUBLE, "__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) 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, DEF_LIB_BUILTIN(BUILT_IN_NAN,
"__builtin_nan", "__builtin_nan",
BT_FN_DOUBLE_CONST_STRING, BT_FN_DOUBLE_CONST_STRING,
ATTR_CONST_NOTHROW_NONNULL_1) ATTR_CONST_NOTHROW_NONNULL_1)
DEF_LIB_BUILTIN(BUILT_IN_NANF, DEF_LIB_BUILTIN(BUILT_IN_NANF,
"__builtin_nanf", "__builtin_nanf",
BT_FN_FLOAT_CONST_STRING, BT_FN_FLOAT_CONST_STRING,
ATTR_CONST_NOTHROW_NONNULL_1) ATTR_CONST_NOTHROW_NONNULL_1)
DEF_LIB_BUILTIN(BUILT_IN_NANL, DEF_LIB_BUILTIN(BUILT_IN_NANL,
"__builtin_nanl", "__builtin_nanl",
BT_FN_LONG_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING,
...@@ -650,305 +693,388 @@ DEF_LIB_BUILTIN(BUILT_IN_NANS, ...@@ -650,305 +693,388 @@ DEF_LIB_BUILTIN(BUILT_IN_NANS,
"__builtin_nans", "__builtin_nans",
BT_FN_DOUBLE_CONST_STRING, BT_FN_DOUBLE_CONST_STRING,
ATTR_CONST_NOTHROW_NONNULL_1) ATTR_CONST_NOTHROW_NONNULL_1)
DEF_LIB_BUILTIN(BUILT_IN_NANSF, DEF_LIB_BUILTIN(BUILT_IN_NANSF,
"__builtin_nansf", "__builtin_nansf",
BT_FN_FLOAT_CONST_STRING, BT_FN_FLOAT_CONST_STRING,
ATTR_CONST_NOTHROW_NONNULL_1) ATTR_CONST_NOTHROW_NONNULL_1)
DEF_LIB_BUILTIN(BUILT_IN_NANSL, DEF_LIB_BUILTIN(BUILT_IN_NANSL,
"__builtin_nansl", "__builtin_nansl",
BT_FN_LONG_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING,
ATTR_CONST_NOTHROW_NONNULL_1) ATTR_CONST_NOTHROW_NONNULL_1)
DEF_GCC_BUILTIN(BUILT_IN_SAVEREGS, DEF_C99_BUILTIN(BUILT_IN_NEARBYINT,
"__builtin_saveregs", "__builtin_nearbyint",
BT_FN_PTR_VAR, BT_FN_DOUBLE_DOUBLE,
ATTR_NULL) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_CLASSIFY_TYPE,
"__builtin_classify_type", DEF_C99_BUILTIN(BUILT_IN_NEARBYINTF,
BT_FN_INT_VAR, "__builtin_nearbyintf",
ATTR_NULL) 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, DEF_GCC_BUILTIN(BUILT_IN_NEXT_ARG,
"__builtin_next_arg", "__builtin_next_arg",
BT_FN_PTR_VAR, BT_FN_PTR_VAR,
ATTR_NULL) ATTR_NULL)
DEF_GCC_BUILTIN(BUILT_IN_ARGS_INFO,
"__builtin_args_info", DEF_GCC_BUILTIN(BUILT_IN_PARITY,
"__builtin_parity",
BT_FN_INT_INT, BT_FN_INT_INT,
ATTR_NULL)
DEF_GCC_BUILTIN(BUILT_IN_CONSTANT_P,
"__builtin_constant_p",
BT_FN_INT_VAR,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_FRAME_ADDRESS,
"__builtin_frame_address", DEF_GCC_BUILTIN(BUILT_IN_PARITYL,
BT_FN_PTR_UNSIGNED, "__builtin_parityl",
ATTR_NULL) BT_FN_INT_LONG,
DEF_GCC_BUILTIN(BUILT_IN_RETURN_ADDRESS, ATTR_CONST_NOTHROW_LIST)
"__builtin_return_address",
BT_FN_PTR_UNSIGNED, DEF_GCC_BUILTIN(BUILT_IN_PARITYLL,
ATTR_NULL) "__builtin_parityll",
DEF_GCC_BUILTIN(BUILT_IN_AGGREGATE_INCOMING_ADDRESS, BT_FN_INT_LONGLONG,
"__builtin_aggregate_incoming_address", ATTR_CONST_NOTHROW_LIST)
BT_FN_PTR_VAR,
ATTR_NULL) DEF_GCC_BUILTIN(BUILT_IN_POPCOUNT,
DEF_GCC_BUILTIN(BUILT_IN_APPLY_ARGS, "__builtin_popcount",
"__builtin_apply_args", BT_FN_INT_INT,
BT_FN_PTR_VAR, ATTR_CONST_NOTHROW_LIST)
ATTR_NULL)
DEF_GCC_BUILTIN(BUILT_IN_APPLY, DEF_GCC_BUILTIN(BUILT_IN_POPCOUNTL,
"__builtin_apply", "__builtin_popcountl",
BT_FN_PTR_PTR_FN_VOID_VAR_PTR_SIZE, BT_FN_INT_LONG,
ATTR_NULL) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_RETURN,
"__builtin_return", DEF_GCC_BUILTIN(BUILT_IN_POPCOUNTLL,
BT_FN_VOID_PTR, "__builtin_popcountll",
ATTR_NORETURN_NOTHROW_LIST) BT_FN_INT_LONGLONG,
DEF_GCC_BUILTIN(BUILT_IN_SETJMP, ATTR_CONST_NOTHROW_LIST)
"__builtin_setjmp",
BT_FN_INT_PTR, DEF_LIB_BUILTIN(BUILT_IN_POW,
ATTR_NULL) "__builtin_pow",
DEF_GCC_BUILTIN(BUILT_IN_LONGJMP, BT_FN_DOUBLE_DOUBLE_DOUBLE,
"__builtin_longjmp", flag_errno_math ? ATTR_NOTHROW_LIST
BT_FN_VOID_PTR_INT, : (flag_unsafe_math_optimizations
ATTR_NORETURN_NOTHROW_LIST) ? ATTR_CONST_NOTHROW_LIST
DEF_GCC_BUILTIN(BUILT_IN_TRAP, : ATTR_PURE_NOTHROW_LIST))
"__builtin_trap",
BT_FN_VOID, DEF_C99_C90RES_BUILTIN(BUILT_IN_POWF,
ATTR_NORETURN_NOTHROW_LIST) "__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, DEF_GCC_BUILTIN(BUILT_IN_PREFETCH,
"__builtin_prefetch", "__builtin_prefetch",
BT_FN_VOID_CONST_PTR_VAR, BT_FN_VOID_CONST_PTR_VAR,
ATTR_NULL) ATTR_NULL)
/* stdio.h builtins (without FILE *). */
DEF_LIB_BUILTIN(BUILT_IN_PRINTF, DEF_LIB_BUILTIN(BUILT_IN_PRINTF,
"__builtin_printf", "__builtin_printf",
BT_FN_INT_CONST_STRING_VAR, BT_FN_INT_CONST_STRING_VAR,
ATTR_FORMAT_PRINTF_1_2) 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, DEF_LIB_BUILTIN(BUILT_IN_PUTCHAR,
"__builtin_putchar", "__builtin_putchar",
BT_FN_INT_INT, BT_FN_INT_INT,
ATTR_NOTHROW_LIST) 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, DEF_LIB_BUILTIN(BUILT_IN_PUTS,
"__builtin_puts", "__builtin_puts",
BT_FN_INT_CONST_STRING, BT_FN_INT_CONST_STRING,
ATTR_NOTHROW_NONNULL_1) 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, DEF_C99_BUILTIN(BUILT_IN_SNPRINTF,
"__builtin_snprintf", "__builtin_snprintf",
BT_FN_INT_STRING_SIZE_CONST_STRING_VAR, BT_FN_INT_STRING_SIZE_CONST_STRING_VAR,
ATTR_FORMAT_PRINTF_3_4) ATTR_FORMAT_PRINTF_3_4)
DEF_LIB_BUILTIN(BUILT_IN_SPRINTF, DEF_LIB_BUILTIN(BUILT_IN_SPRINTF,
"__builtin_sprintf", "__builtin_sprintf",
BT_FN_INT_STRING_CONST_STRING_VAR, BT_FN_INT_STRING_CONST_STRING_VAR,
ATTR_FORMAT_PRINTF_2_3) 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, DEF_LIB_BUILTIN(BUILT_IN_SSCANF,
"__builtin_sscanf", "__builtin_sscanf",
BT_FN_INT_CONST_STRING_CONST_STRING_VAR, BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
ATTR_FORMAT_SCANF_2_3) 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)
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_STRCAT,
"__builtin_strcat",
BT_FN_STRING_STRING_CONST_STRING,
ATTR_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_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_STRCSPN,
"__builtin_strcspn",
BT_FN_SIZE_CONST_STRING_CONST_STRING,
ATTR_PURE_NOTHROW_NONNULL_1_2)
DEF_EXT_LIB_BUILTIN(BUILT_IN_STRDUP,
"__builtin_strdup",
BT_FN_STRING_CONST_STRING,
ATTR_MALLOC_NOTHROW_NONNULL_1)
/* stdio.h 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 DEF_LIB_BUILTIN(BUILT_IN_STRNCAT,
without them. We rely on stdio.h to supply the arguments for the "__builtin_strncat",
regular style declaration since we had to use void* instead of BT_FN_STRING_STRING_CONST_STRING_SIZE,
FILE* in the __builtin_ prototype supplied here. */ ATTR_NOTHROW_NONNULL_1_2)
DEF_LIB_BUILTIN(BUILT_IN_FPUTC, DEF_LIB_BUILTIN(BUILT_IN_STRNCMP,
"__builtin_fputc", "__builtin_strncmp",
BT_FN_INT_INT_PTR, BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
ATTR_NOTHROW_NONNULL_2) ATTR_PURE_NOTHROW_NONNULL_1_2)
DEF_LIB_BUILTIN(BUILT_IN_FPUTS,
"__builtin_fputs", DEF_LIB_BUILTIN(BUILT_IN_STRNCPY,
BT_FN_INT_CONST_STRING_PTR, "__builtin_strncpy",
BT_FN_STRING_STRING_CONST_STRING_SIZE,
ATTR_NOTHROW_NONNULL_1_2) 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_STRPBRK,
"__builtin_strpbrk",
BT_FN_STRING_CONST_STRING_CONST_STRING,
ATTR_PURE_NOTHROW_NONNULL_1_2)
DEF_EXT_LIB_BUILTIN(BUILT_IN_PUTCHAR_UNLOCKED, DEF_LIB_BUILTIN(BUILT_IN_STRRCHR,
"__builtin_putchar_unlocked", "__builtin_strrchr",
BT_FN_INT_INT, BT_FN_STRING_CONST_STRING_INT,
ATTR_NOTHROW_LIST) ATTR_PURE_NOTHROW_NONNULL_1)
DEF_EXT_LIB_BUILTIN(BUILT_IN_PUTS_UNLOCKED,
"__builtin_puts_unlocked", DEF_LIB_BUILTIN(BUILT_IN_STRSPN,
BT_FN_INT_CONST_STRING, "__builtin_strspn",
ATTR_NOTHROW_NONNULL_1) BT_FN_SIZE_CONST_STRING_CONST_STRING,
DEF_EXT_LIB_BUILTIN(BUILT_IN_PRINTF_UNLOCKED, ATTR_PURE_NOTHROW_NONNULL_1_2)
"__builtin_printf_unlocked",
BT_FN_INT_CONST_STRING_VAR, DEF_LIB_BUILTIN(BUILT_IN_STRSTR,
ATTR_FORMAT_PRINTF_1_2) "__builtin_strstr",
BT_FN_STRING_CONST_STRING_CONST_STRING,
ATTR_PURE_NOTHROW_NONNULL_1_2)
/* stdio unlocked builtins (with FILE *). */ 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))
/* Declare the __builtin_ style with arguments and the regular style DEF_C99_C90RES_BUILTIN(BUILT_IN_SQRTF,
without them. We rely on stdio.h to supply the arguments for the "__builtin_sqrtf",
regular style declaration since we had to use void* instead of BT_FN_FLOAT_FLOAT,
FILE* in the __builtin_ prototype supplied here. */ flag_errno_math ? ATTR_NOTHROW_LIST
: (flag_unsafe_math_optimizations
? ATTR_CONST_NOTHROW_LIST
: ATTR_PURE_NOTHROW_LIST))
DEF_EXT_LIB_BUILTIN(BUILT_IN_FPUTC_UNLOCKED, DEF_C99_C90RES_BUILTIN(BUILT_IN_SQRTL,
"__builtin_fputc_unlocked", "__builtin_sqrtl",
BT_FN_INT_INT_PTR, BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_NOTHROW_NONNULL_2) flag_errno_math ? ATTR_NOTHROW_LIST
DEF_EXT_LIB_BUILTIN(BUILT_IN_FPUTS_UNLOCKED, : (flag_unsafe_math_optimizations
"__builtin_fputs_unlocked", ? ATTR_CONST_NOTHROW_LIST
BT_FN_INT_CONST_STRING_PTR, : ATTR_PURE_NOTHROW_LIST))
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)
/* ISO C99 floating point unordered comparisons. */ DEF_LIB_BUILTIN(BUILT_IN_TAN,
DEF_GCC_BUILTIN(BUILT_IN_ISGREATER, "__builtin_tan",
"__builtin_isgreater", BT_FN_DOUBLE_DOUBLE,
BT_FN_INT_VAR, flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST
ATTR_CONST_NOTHROW_LIST) : ATTR_PURE_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_ISGREATEREQUAL,
"__builtin_isgreaterequal", DEF_C99_C90RES_BUILTIN(BUILT_IN_TANF,
BT_FN_INT_VAR, "__builtin_tanf",
ATTR_CONST_NOTHROW_LIST) BT_FN_FLOAT_FLOAT,
DEF_GCC_BUILTIN(BUILT_IN_ISLESS, flag_unsafe_math_optimizations ? ATTR_CONST_NOTHROW_LIST
"__builtin_isless", : ATTR_PURE_NOTHROW_LIST)
BT_FN_INT_VAR,
ATTR_CONST_NOTHROW_LIST) DEF_C99_C90RES_BUILTIN(BUILT_IN_TANL,
DEF_GCC_BUILTIN(BUILT_IN_ISLESSEQUAL, "__builtin_tanl",
"__builtin_islessequal", BT_FN_LONG_DOUBLE_LONG_DOUBLE,
BT_FN_INT_VAR, 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) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_ISLESSGREATER,
"__builtin_islessgreater", DEF_C99_BUILTIN(BUILT_IN_TRUNCF,
BT_FN_INT_VAR, "__builtin_truncf",
BT_FN_FLOAT_FLOAT,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
DEF_GCC_BUILTIN(BUILT_IN_ISUNORDERED,
"__builtin_isunordered", DEF_C99_BUILTIN(BUILT_IN_TRUNCL,
BT_FN_INT_VAR, "__builtin_truncl",
BT_FN_LONG_DOUBLE_LONG_DOUBLE,
ATTR_CONST_NOTHROW_LIST) ATTR_CONST_NOTHROW_LIST)
/* Various hooks for the DWARF 2 __throw routine. */
DEF_GCC_BUILTIN(BUILT_IN_UNWIND_INIT, DEF_GCC_BUILTIN(BUILT_IN_UNWIND_INIT,
"__builtin_unwind_init", "__builtin_unwind_init",
BT_FN_VOID, BT_FN_VOID,
ATTR_NULL) 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_COPY,
DEF_GCC_BUILTIN(BUILT_IN_VA_START, "__builtin_va_copy",
"__builtin_va_start", BT_FN_VOID_VALIST_REF_VALIST_ARG,
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,
ATTR_NULL) ATTR_NULL)
DEF_GCC_BUILTIN(BUILT_IN_VA_END, DEF_GCC_BUILTIN(BUILT_IN_VA_END,
"__builtin_va_end", "__builtin_va_end",
BT_FN_VOID_VALIST_REF, BT_FN_VOID_VALIST_REF,
ATTR_NULL) 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, DEF_GCC_BUILTIN(BUILT_IN_VA_START,
"__builtin_expect", "__builtin_va_start",
BT_FN_LONG_LONG_LONG, BT_FN_VOID_VALIST_REF_VAR,
ATTR_NULL) ATTR_NULL)
/* Declare abort, exit, _exit and _Exit */ DEF_LIB_BUILTIN(BUILT_IN_VPRINTF,
DEF_LIB_BUILTIN(BUILT_IN_ABORT, "__builtin_vprintf",
"__builtin_abort", BT_FN_INT_CONST_STRING_VALIST_ARG,
BT_FN_VOID, ATTR_FORMAT_PRINTF_1_0)
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)
/* Declare malloc, calloc and strdup. */ DEF_C99_BUILTIN(BUILT_IN_VSCANF,
DEF_LIB_BUILTIN(BUILT_IN_MALLOC, "__builtin_vscanf",
"__builtin_malloc", BT_FN_INT_CONST_STRING_VALIST_ARG,
BT_FN_PTR_SIZE, ATTR_FORMAT_SCANF_1_0)
ATTR_MALLOC_NOTHROW_LIST)
DEF_LIB_BUILTIN(BUILT_IN_CALLOC, DEF_C99_BUILTIN(BUILT_IN_VSNPRINTF,
"__builtin_calloc", "__builtin_vsnprintf",
BT_FN_PTR_SIZE_SIZE, BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
ATTR_MALLOC_NOTHROW_LIST) ATTR_FORMAT_PRINTF_3_0)
DEF_EXT_LIB_BUILTIN(BUILT_IN_STRDUP, DEF_LIB_BUILTIN(BUILT_IN_VSPRINTF,
"__builtin_strdup", "__builtin_vsprintf",
BT_FN_STRING_CONST_STRING, BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
ATTR_MALLOC_NOTHROW_NONNULL_1) 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)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment