aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/method.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2006-05-02 15:59:50 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2006-05-02 15:59:50 +0000
commit7137605e8f429829d7bd9350f94c6c9691aa186f (patch)
tree8a8cf2fbbce2ce7e3e9f80eb8c80ad42a8e58c79 /gcc/cp/method.c
parent263bb8fb8603df086463cca38be38bdaedee08d2 (diff)
downloadgcc-7137605e8f429829d7bd9350f94c6c9691aa186f.zip
gcc-7137605e8f429829d7bd9350f94c6c9691aa186f.tar.gz
gcc-7137605e8f429829d7bd9350f94c6c9691aa186f.tar.bz2
re PR c++/27309 (ICE on invalid constructor definition)
PR c++/27309 * class.c (add_method): Call grok_special_member_properties. * decl.c (grokdeclarator): Don't call it here. (copy_fn_p): A TEMPLATE_DECL is never a copy constructor or assignment operator. Set TYPE_HAS_CONSTURCTOR if DECL is a constructor. (start_method): Don't call grok_special_member_properties. * method.c (implicitly_declare_fn): Likewise. * pt.c (instantiate_class_template): Likewise. * decl2.c (grokfield): Likewise. PR c++/27309 * g++.dg/parser/ctor5.C: New test. From-SVN: r113473
Diffstat (limited to 'gcc/cp/method.c')
-rw-r--r--gcc/cp/method.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 68ec8ab..ddf79bf 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1083,7 +1083,6 @@ implicitly_declare_fn (special_function_kind kind, tree type, bool const_p)
DECL_ARGUMENTS (fn) = this_parm;
grokclassfn (type, fn, kind == sfk_destructor ? DTOR_FLAG : NO_SPECIAL);
- grok_special_member_properties (fn);
set_linkage_according_to_type (type, fn);
rest_of_decl_compilation (fn, toplevel_bindings_p (), at_eof);
DECL_IN_AGGR_P (fn) = 1;