re PR c++/27309 (ICE on invalid constructor definition)
authorMark Mitchell <mark@codesourcery.com>
Tue, 2 May 2006 15:59:50 +0000 (15:59 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 2 May 2006 15:59:50 +0000 (15:59 +0000)
commit7137605e8f429829d7bd9350f94c6c9691aa186f
tree8a8cf2fbbce2ce7e3e9f80eb8c80ad42a8e58c79
parent263bb8fb8603df086463cca38be38bdaedee08d2
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
gcc/cp/ChangeLog
gcc/cp/class.c
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/method.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/ctor5.C [new file with mode: 0644]