summaryrefslogtreecommitdiff
path: root/gcc/builtins.def
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-26 03:02:14 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-26 03:02:14 +0000
commit982c684c016e0427146888f7c01b59f8dc3aeb26 (patch)
tree62a6d7eda515c0ef561243d4759cd9642e58e72f /gcc/builtins.def
parent242e39385c81396f712c48e384836ef953064f09 (diff)
downloadgcc-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.def127
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)