aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/builtins.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-01-24 23:07:01 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2003-01-24 22:07:01 +0000
commit272f51a36f0274920b806cca375dca00ce7c51c8 (patch)
tree897959d6b91a286bdf8aff97f680af56bc3b6e8e /gcc/java/builtins.c
parent0ced43354fe55cfeed8e70eefc1110209ffb8c5f (diff)
downloadgcc-272f51a36f0274920b806cca375dca00ce7c51c8.zip
gcc-272f51a36f0274920b806cca375dca00ce7c51c8.tar.gz
gcc-272f51a36f0274920b806cca375dca00ce7c51c8.tar.bz2
builtins.c (DEF_BUILTIN): Accept 10 arguments.
* builtins.c (DEF_BUILTIN): Accept 10 arguments. (implicit_built_in_decls): New global array. (mathfn_built_in): New global function. (fold_trunc_transparent_mathfn): New static function (expand_builtin_strstr, expand_bultin_strchr, expand_builtin_strpbrk, expand_builtin_strcpy, expand_builtin_strncpy, expand_bultin_strcmp, expand_bultin_strncat, expand_builtin_fputs): Use implicint_built_in_decls. (fold_builtin): Fold floor/trunc/round/ceil/nearbyint. * builtins.def: Fix comments. (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN, DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN, DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN, DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed. (DEF_C99_C90RES_BULTIN): New. (*f, *l builtins): Update. * c-common.c (DEF_BUILTIN): Initialize implicit array. (c_expand_builtin_printf, c_expand_builtin_fprintf): Update. * convert.c (strip_float_extensions): New global function. * tree.h (DEF_BUILTIN): Accept 10 arguments. (implicit_built_in_decls, mathfn_built_in, strip_float_extension): Declare. * java/builtins.c (define_builtin): Handle implicit. (DEF_BUILTIN): Update. * tm.texi (TARGET_C99_FUNCTIONS): Document. * defaults.h (TARGET_C99_FUNCTIONS): Default to 0. * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1 when using glibc2. From-SVN: r61738
Diffstat (limited to 'gcc/java/builtins.c')
-rw-r--r--gcc/java/builtins.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index 2aec8fd..1e388d8 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -70,7 +70,7 @@ static tree sqrt_builtin (tree, tree);
static tree java_build_function_call_expr (tree, tree);
static void define_builtin (enum built_in_function, const char *,
- enum built_in_class, tree, int);
+ enum built_in_class, tree, int, int);
static tree define_builtin_type (int, int, int, int, int);
@@ -189,7 +189,8 @@ define_builtin (enum built_in_function val,
const char *name,
enum built_in_class class,
tree type,
- int fallback_p)
+ int fallback_p,
+ int implicit)
{
tree decl;
@@ -209,6 +210,8 @@ define_builtin (enum built_in_function val,
DECL_BUILT_IN_CLASS (decl) = class;
DECL_FUNCTION_CODE (decl) = val;
built_in_decls[val] = decl;
+ if (implicit)
+ implicit_built_in_decls[val] = decl;
}
/* Compute the type for a builtin. */
@@ -306,8 +309,8 @@ initialize_builtins (void)
#include "builtin-types.def"
#define DEF_BUILTIN(ENUM, NAME, CLASS, TYPE, LIBTYPE, BOTH_P, \
- FALLBACK_P, NONANSI_P, ATTRS) \
- define_builtin (ENUM, NAME, CLASS, builtin_types[TYPE], FALLBACK_P);
+ FALLBACK_P, NONANSI_P, ATTRS, IMPLICIT) \
+ define_builtin (ENUM, NAME, CLASS, builtin_types[TYPE], FALLBACK_P, IMPLICIT);
#include "builtins.def"
}