diff options
author | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-25 20:00:59 +0000 |
---|---|---|
committer | mmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-05-25 20:00:59 +0000 |
commit | d2d4bddeaa70b748e0c470537e51352a1912215f (patch) | |
tree | a6b2476cc75872ea15f87872782af87262afe2cb /gcc/cp | |
parent | fa1f38e1482326b4816db021a39cc880e600e1e8 (diff) | |
download | gcc-d2d4bddeaa70b748e0c470537e51352a1912215f.tar.gz |
* builtins.def: Encode additional information, such as names and
types, here.
* builtin-types.def: New file.
* builtins.c (built_in_names): Adjust use of DEF_BUILTIN.
(built_in_decls): Likewise. Don't explicitly initialize global
data to NULL.
(expand_builtin_mathfn): Handle float and long double variants of
math builtins.
(expand_builtin): Likewise.
* c-common.c (c_common_nodes_and_builtins): Make it table-driven.
(expand_tree_builtin): Handle long, long long, float, and long
double variants of math functions.
* c-common.h (c_tree_index): Remove some unused nodes.
(void_ftype): Remove.
(void_type_ptr): Likewise.
(int_ftype_int): Likewise.
(ptr_ftype_sizetype): Likewise.
* c-decl.c (init_decl_processing): Remove creation of DWARF
builtins.
* defaults.h (MD_INIT_BUILTINS): Provide default definition.
* tree.h (built_in_function): Adjust definition of DEF_BUILTIN.
* Makefile.in (c-common.o): Depend on builtin-types.def.
* decl.c (init_decl_processing): Tweak.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42583 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/decl.c | 15 |
2 files changed, 18 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index df72dfe3d0a..bf9bd893529 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2001-05-26 Mark Mitchell <mark@codesourcery.com> + + * decl.c (init_decl_processing): Tweak. + 2001-05-24 Mark Mitchell <mark@codesourcery.com> * decl.c (duplicate_decls): Tidy. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index c91ba6082ee..06f19cdeb0b 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -6325,6 +6325,8 @@ void init_decl_processing () { tree fields[20]; + tree void_ftype; + tree void_ftype_ptr; /* Check to see that the user did not specify an invalid combination of command-line options. */ @@ -6452,6 +6454,11 @@ init_decl_processing () vtt_parm_type = build_pointer_type (const_ptr_type_node); lang_type_promotes_to = convert_type_from_ellipsis; + void_ftype = build_function_type (void_type_node, void_list_node); + void_ftype_ptr = build_function_type (void_type_node, + tree_cons (NULL_TREE, + ptr_type_node, + void_list_node)); void_ftype_ptr = build_exception_variant (void_ftype_ptr, empty_except_spec); @@ -6528,13 +6535,19 @@ init_decl_processing () { tree bad_alloc_type_node, newtype, deltype; - + tree ptr_ftype_sizetype; + if (flag_honor_std) push_namespace (std_identifier); bad_alloc_type_node = xref_tag (class_type_node, get_identifier ("bad_alloc"), 1); if (flag_honor_std) pop_namespace (); + ptr_ftype_sizetype + = build_function_type (ptr_type_node, + tree_cons (NULL_TREE, + c_size_type_node, + void_list_node)); newtype = build_exception_variant (ptr_ftype_sizetype, add_exception_specifier (NULL_TREE, bad_alloc_type_node, -1)); |