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_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_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_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,
- ATTR_CONST_NOTHROW_LIST)
-DEF_C99_BUILTIN(BUILT_IN_CABSF,
- "__builtin_cabsf",
- BT_FN_FLOAT_COMPLEX_FLOAT,
+
+DEF_GCC_BUILTIN(BUILT_IN_CTZ,
+ "__builtin_ctz",
+ BT_FN_INT_INT,
ATTR_CONST_NOTHROW_LIST)
-DEF_C99_BUILTIN(BUILT_IN_CABSL,
- "__builtin_cabsl",
- BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE,
+
+DEF_GCC_BUILTIN(BUILT_IN_CTZL,
+ "__builtin_ctzl",
+ BT_FN_INT_LONG,
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_CTZLL,
+ "__builtin_ctzll",
+ BT_FN_INT_LONGLONG,
+ 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_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_CFA,
+ "__builtin_dwarf_cfa",
+ BT_FN_PTR,
+ 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_DWARF_SP_COLUMN,
+ "__builtin_dwarf_sp_column",
+ BT_FN_UNSIGNED,
+ ATTR_NULL)
-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,
+ "__builtin_eh_return",
+ BT_FN_VOID_PTRMODE_PTR,
+ ATTR_NORETURN_NOTHROW_LIST)
-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_GCC_BUILTIN(BUILT_IN_EH_RETURN_DATA_REGNO,
+ "__builtin_eh_return_data_regno",
+ BT_FN_INT_INT,
+ ATTR_NULL)
-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_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_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_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,
: (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,
: (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,
- 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",
+ "__builtin_expl",
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,
+
+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,
+ 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_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,
? 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,
"__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)
+
+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
- 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_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_STRNCMP,
+ "__builtin_strncmp",
+ BT_FN_INT_CONST_STRING_CONST_STRING_SIZE,
+ ATTR_PURE_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_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,
- "__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_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)
-/* 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
- 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_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_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_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))
- /* 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_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)