summaryrefslogtreecommitdiff
path: root/gcc/cp/search.c
diff options
context:
space:
mode:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-03 14:39:10 +0000
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>2001-01-03 14:39:10 +0000
commitd8ae764760c1f07beeb7f7c73894c8222f93a45e (patch)
treeacdad70455870f766fb7e96793203aa55d4c5eb1 /gcc/cp/search.c
parent544f197e807a64ff60b44420eecb112689b35d21 (diff)
downloadgcc-d8ae764760c1f07beeb7f7c73894c8222f93a45e.tar.gz
cp:
Implement exceptions specifiers for implicit member functions. * cp-tree.h (merge_exceptions_specifiers): Declare new function. * method.c (synthesize_exception_spec): New function. (locate_dtor, locate_ctor, locate_copy): New functions. (implicitly_declare_fn): Generate the exception spec too. * search.c (check_final_overrider): Check artificial functions too. * typeck2.c (merge_exception_specifiers): New function. testsuite: * g++.old-deja/g++.eh/spec6.C: Remove remaining XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@38659 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/search.c')
-rw-r--r--gcc/cp/search.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/gcc/cp/search.c b/gcc/cp/search.c
index 72f00901350..e2fab522fa9 100644
--- a/gcc/cp/search.c
+++ b/gcc/cp/search.c
@@ -1964,10 +1964,7 @@ check_final_overrider (overrider, basefn)
}
/* Check throw specifier is subset. */
- /* XXX At the moment, punt with artificial functions. We
- don't generate their exception specifiers, so can't check properly. */
- if (! DECL_ARTIFICIAL (overrider)
- && !comp_except_specs (base_throw, over_throw, 0))
+ if (!comp_except_specs (base_throw, over_throw, 0))
{
cp_error_at ("looser throw specifier for `%#F'", overrider);
cp_error_at (" overriding `%#F'", basefn);