aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/rtti.c
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>2000-03-10 19:23:18 -0500
committerJason Merrill <jason@gcc.gnu.org>2000-03-10 19:23:18 -0500
commitcf74fb8675044d976ab9bcf852756b471e6b0012 (patch)
treecd9fc77d9320650c3a10531cbef56137bda127b5 /gcc/cp/rtti.c
parente5fd03ba4078a755ca863360150654ef2e3eb1ba (diff)
downloadgcc-cf74fb8675044d976ab9bcf852756b471e6b0012.zip
gcc-cf74fb8675044d976ab9bcf852756b471e6b0012.tar.gz
gcc-cf74fb8675044d976ab9bcf852756b471e6b0012.tar.bz2
decl.c (push_throw_library_fn): Take the FUNCTION_TYPE.
* decl.c (push_throw_library_fn): Take the FUNCTION_TYPE. * except.c (expand_end_eh_spec): Add the return type. * rtti.c (throw_bad_cast): Add the parmtypes. (throw_bad_typeid): Likewise. * semantics.c (expand_stmt): Only leave out rtl for unused artificials, and set DECL_IGNORED_P on them as well. * decl.c (wrapup_globals_for_namespace): Likewise. * decl.c (maybe_commonize_var): Skip all artificial decls. * pt.c (tsubst_decl): Don't copy TREE_ASM_WRITTEN. From-SVN: r32475
Diffstat (limited to 'gcc/cp/rtti.c')
-rw-r--r--gcc/cp/rtti.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/cp/rtti.c b/gcc/cp/rtti.c
index 15e4617..fa5f85c 100644
--- a/gcc/cp/rtti.c
+++ b/gcc/cp/rtti.c
@@ -175,7 +175,8 @@ throw_bad_cast ()
if (IDENTIFIER_GLOBAL_VALUE (fn))
fn = IDENTIFIER_GLOBAL_VALUE (fn);
else
- fn = push_throw_library_fn (fn, ptr_type_node);
+ fn = push_throw_library_fn (fn, build_function_type (ptr_type_node,
+ void_list_node));
return build_call (fn, NULL_TREE);
}
@@ -187,9 +188,11 @@ throw_bad_typeid ()
if (IDENTIFIER_GLOBAL_VALUE (fn))
fn = IDENTIFIER_GLOBAL_VALUE (fn);
else
- fn = push_throw_library_fn (fn, build_reference_type
- (build_qualified_type
- (type_info_type_node, TYPE_QUAL_CONST)));
+ {
+ tree t = build_qualified_type (type_info_type_node, TYPE_QUAL_CONST);
+ t = build_function_type (build_reference_type (t), void_list_node);
+ fn = push_throw_library_fn (fn, t);
+ }
return build_call (fn, NULL_TREE);
}