diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2000-03-24 20:20:56 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2000-03-24 20:20:56 +0000 |
commit | e3a709be4d65ffbaa50949f94039f7ab7686e4f5 (patch) | |
tree | d8a9016e5e8a7f8532c10a24cd7aaaad58cd2200 /gcc/c-common.c | |
parent | 3424984446d90b366bddbce3dedb9235f8af280b (diff) | |
download | gcc-e3a709be4d65ffbaa50949f94039f7ab7686e4f5.zip gcc-e3a709be4d65ffbaa50949f94039f7ab7686e4f5.tar.gz gcc-e3a709be4d65ffbaa50949f94039f7ab7686e4f5.tar.bz2 |
builtins.c (expand_builtin_bzero): New function.
* builtins.c (expand_builtin_bzero): New function.
(expand_builtin): Handle bzero.
* builtins.def: Add BUILT_IN_BZERO.
* c-common.c (c_common_nodes_and_builtins): Provide builtin
prototype & function for bzero.
From-SVN: r32727
Diffstat (limited to 'gcc/c-common.c')
-rw-r--r-- | gcc/c-common.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/gcc/c-common.c b/gcc/c-common.c index ddab25e..b80501d 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -3462,7 +3462,7 @@ c_common_nodes_and_builtins (cplus_mode, no_builtins, no_nonansi_builtins) { tree temp; tree memcpy_ftype, memset_ftype, strlen_ftype; - tree bcmp_ftype; + tree bzero_ftype, bcmp_ftype; tree endlink, int_endlink, double_endlink, unsigned_endlink; tree sizetype_endlink; tree ptr_ftype, ptr_ftype_unsigned; @@ -3597,6 +3597,12 @@ c_common_nodes_and_builtins (cplus_mode, no_builtins, no_nonansi_builtins) sizetype, endlink)))); + /* Prototype for bzero. */ + bzero_ftype + = build_function_type (void_type_node, + tree_cons (NULL_TREE, traditional_ptr_type_node, + traditional_len_endlink)); + /* Prototype for bcmp. */ bcmp_ftype = build_function_type (integer_type_node, @@ -3639,6 +3645,11 @@ c_common_nodes_and_builtins (cplus_mode, no_builtins, no_nonansi_builtins) /* Suppress error if redefined as a non-function. */ DECL_BUILT_IN_NONANSI (temp) = 1; + /* In C mode, don't conflict with system prototype variations. */ + temp = builtin_function ("bzero", + cplus_mode ? bzero_ftype : void_ftype_any, + BUILT_IN_BZERO, BUILT_IN_NORMAL, NULL_PTR); + DECL_BUILT_IN_NONANSI (temp) = 1; temp = builtin_function ("bcmp", cplus_mode ? bcmp_ftype : int_ftype_any, BUILT_IN_BCMP, BUILT_IN_NORMAL, NULL_PTR); @@ -3746,8 +3757,10 @@ c_common_nodes_and_builtins (cplus_mode, no_builtins, no_nonansi_builtins) BUILT_IN_NORMAL, "memcpy"); builtin_function ("__builtin_memcmp", int_ftype_cptr_cptr_sizet, BUILT_IN_MEMCMP, BUILT_IN_NORMAL, "memcmp"); - builtin_function ("__builtin_memset", memset_ftype, BUILT_IN_MEMSET, - BUILT_IN_NORMAL, "memset"); + builtin_function ("__builtin_memset", memset_ftype, + BUILT_IN_MEMSET, BUILT_IN_NORMAL, "memset"); + builtin_function ("__builtin_bzero", bzero_ftype, + BUILT_IN_BZERO, BUILT_IN_NORMAL, "bzero"); builtin_function ("__builtin_bcmp", bcmp_ftype, BUILT_IN_BCMP, BUILT_IN_NORMAL, "bcmp"); builtin_function ("__builtin_strcmp", int_ftype_string_string, |