diff options
author | Jan Hubicka <jh@suse.cz> | 2003-01-24 23:07:01 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2003-01-24 22:07:01 +0000 |
commit | 272f51a36f0274920b806cca375dca00ce7c51c8 (patch) | |
tree | 897959d6b91a286bdf8aff97f680af56bc3b6e8e /gcc/tree.h | |
parent | 0ced43354fe55cfeed8e70eefc1110209ffb8c5f (diff) | |
download | gcc-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/tree.h')
-rw-r--r-- | gcc/tree.h | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -84,7 +84,7 @@ extern const char *const built_in_class_names[4]; /* Codes that identify the various built in functions so that expand_call can identify them quickly. */ -#define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT) ENUM, +#define DEF_BUILTIN(ENUM, N, C, T, LT, B, F, NA, AT, IM) ENUM, enum built_in_function { #include "builtins.def" @@ -99,6 +99,7 @@ extern const char *const built_in_names[(int) END_BUILTINS]; /* An array of _DECL trees for the above. */ extern GTY(()) tree built_in_decls[(int) END_BUILTINS]; +extern GTY(()) tree implicit_built_in_decls[(int) END_BUILTINS]; /* The definition of tree nodes fills the next several pages. */ @@ -2928,6 +2929,8 @@ extern tree invert_truthvalue PARAMS ((tree)); extern tree fold_builtin PARAMS ((tree)); extern enum built_in_function builtin_mathfn_code PARAMS ((tree)); extern tree build_function_call_expr PARAMS ((tree, tree)); +extern tree mathfn_built_in PARAMS ((tree, enum built_in_function fn)); +extern tree strip_float_extensions PARAMS ((tree)); /* In convert.c */ extern tree strip_float_extensions PARAMS ((tree)); |