diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-26 03:02:14 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-26 03:02:14 +0000 |
commit | 982c684c016e0427146888f7c01b59f8dc3aeb26 (patch) | |
tree | 62a6d7eda515c0ef561243d4759cd9642e58e72f /gcc/builtins.def | |
parent | 242e39385c81396f712c48e384836ef953064f09 (diff) | |
download | gcc-982c684c016e0427146888f7c01b59f8dc3aeb26.tar.gz |
* builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
(abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit): Use
the appropriate macro to define built-in function.
(fmod,fmodf,fmodl): New built-in functions.
* java/decl.c (java_init_decl_processing): Get soft_fmod_node from
built_in_decls[BUILT_IN_FMOD] rather than define it ourselves.
* doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63445 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/builtins.def')
-rw-r--r-- | gcc/builtins.def | 127 |
1 files changed, 56 insertions, 71 deletions
diff --git a/gcc/builtins.def b/gcc/builtins.def index 268696edb8f..ae7d640f581 100644 --- a/gcc/builtins.def +++ b/gcc/builtins.def @@ -99,13 +99,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ true, true, false, ATTRS, true) -/* Like DEF_LIB_BUILTIN, except that a call to the builtin should - never fall back to the library version. */ -#undef DEF_LIB_ALWAYS_BUILTIN -#define DEF_LIB_ALWAYS_BUILTIN(ENUM, NAME, TYPE) \ - DEF_BUILTIN (ENUM, NAME, BUILT_IN_NORMAL, TYPE, TYPE, \ - true, false, true, ATTR_CONST_NOTHROW_LIST, true) - /* Like DEF_LIB_BUILTIN, except that the function is not one that is specified by ANSI/ISO C. So, when we're being fully conformant we ignore the version of these builtins that does not begin with @@ -146,12 +139,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA DEF_BUILTIN (ENUM, NAME, BUILT_IN_FRONTEND, TYPE, TYPE, \ true, true, true, ATTRS, true) -/* A built-in that is not currently used. */ -#undef DEF_UNUSED_BUILTIN -#define DEF_UNUSED_BUILTIN(X) \ - DEF_BUILTIN (X, (const char *) NULL, NOT_BUILT_IN, BT_LAST, \ - BT_LAST, false, false, false, ATTR_NOTHROW_LIST, false) - /* If SMALL_STACK is defined, then `alloca' is only defined in its `__builtin' form. */ #if SMALL_STACK @@ -166,22 +153,27 @@ DEF_EXT_LIB_BUILTIN(BUILT_IN_ALLOCA, ATTR_MALLOC_NOTHROW_LIST) #endif -DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_ABS, - "__builtin_abs", - BT_FN_INT_INT) -DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_LABS, - "__builtin_labs", - BT_FN_LONG_LONG) - -DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_FABS, - "__builtin_fabs", - BT_FN_DOUBLE_DOUBLE) -DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_FABSF, +DEF_LIB_BUILTIN(BUILT_IN_ABS, + "__builtin_abs", + BT_FN_INT_INT, + ATTR_CONST_NOTHROW_LIST) +DEF_LIB_BUILTIN(BUILT_IN_LABS, + "__builtin_labs", + BT_FN_LONG_LONG, + ATTR_CONST_NOTHROW_LIST) + +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) -DEF_LIB_ALWAYS_BUILTIN(BUILT_IN_FABSL, + BT_FN_FLOAT_FLOAT, + ATTR_CONST_NOTHROW_LIST) +DEF_C99_C90RES_BUILTIN(BUILT_IN_FABSL, "__builtin_fabsl", - BT_FN_LONG_DOUBLE_LONG_DOUBLE) + BT_FN_LONG_DOUBLE_LONG_DOUBLE, + ATTR_CONST_NOTHROW_LIST) DEF_LIB_BUILTIN(BUILT_IN_FLOOR, "__builtin_floor", @@ -293,13 +285,6 @@ DEF_C99_BUILTIN(BUILT_IN_CIMAGL, BT_FN_LONG_DOUBLE_COMPLEX_LONG_DOUBLE, ATTR_CONST_NOTHROW_LIST) -DEF_UNUSED_BUILTIN(BUILT_IN_DIV) -DEF_UNUSED_BUILTIN(BUILT_IN_LDIV) -DEF_UNUSED_BUILTIN(BUILT_IN_FFLOOR) -DEF_UNUSED_BUILTIN(BUILT_IN_FCEIL) -DEF_UNUSED_BUILTIN(BUILT_IN_FMOD) -DEF_UNUSED_BUILTIN(BUILT_IN_FREM) - /* The system prototypes for `bzero' and `bcmp' functions have many variations, so don't specify parameters to avoid conflicts. The expand_* functions check the argument types anyway. */ @@ -501,6 +486,13 @@ DEF_LIB_BUILTIN(BUILT_IN_ATAN2, : (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, @@ -546,6 +538,13 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_ATAN2F, : (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, @@ -591,6 +590,13 @@ DEF_C99_C90RES_BUILTIN(BUILT_IN_ATAN2L, : (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, + flag_errno_math ? ATTR_NOTHROW_LIST + : (flag_unsafe_math_optimizations + ? ATTR_CONST_NOTHROW_LIST + : ATTR_PURE_NOTHROW_LIST)) DEF_GCC_BUILTIN(BUILT_IN_INF, "__builtin_inf", @@ -857,42 +863,21 @@ DEF_GCC_BUILTIN(BUILT_IN_EXPECT, BT_FN_LONG_LONG_LONG, ATTR_NULL) -/* C++ extensions */ -DEF_UNUSED_BUILTIN(BUILT_IN_NEW) -DEF_UNUSED_BUILTIN(BUILT_IN_VEC_NEW) -DEF_UNUSED_BUILTIN(BUILT_IN_DELETE) -DEF_UNUSED_BUILTIN(BUILT_IN_VEC_DELETE) - /* Declare abort, exit, _exit and _Exit */ -DEF_BUILTIN (BUILT_IN_ABORT, - "__builtin_abort", - NOT_BUILT_IN, - BT_FN_VOID, - BT_FN_VOID, - 1, 0, 0, - ATTR_NORETURN_NOTHROW_LIST, true) - -DEF_BUILTIN (BUILT_IN_EXIT, - "__builtin_exit", - NOT_BUILT_IN, - BT_FN_VOID_INT, - BT_FN_VOID_INT, - 1, 0, 0, - ATTR_NORETURN_NOTHROW_LIST, true) - -DEF_BUILTIN (BUILT_IN__EXIT, - "__builtin__exit", - NOT_BUILT_IN, - BT_FN_VOID_INT, - BT_FN_VOID_INT, - 1, 0, 1, - ATTR_NORETURN_NOTHROW_LIST, false) - -DEF_BUILTIN (BUILT_IN__EXIT2, - "__builtin__Exit", - NOT_BUILT_IN, - BT_FN_VOID_INT, - BT_FN_VOID_INT, - 1, 0, !flag_isoc99, - ATTR_NORETURN_NOTHROW_LIST, false) +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) |