PR c++/42415 * call.c (build_new_method_call): Complain about calling the constructor directly. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155347 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/42137 * parser.c (cp_parser_mem_initializer_id): Pass typename_type to cp_parser_class_name. (cp_parser_unqualified_id): Same, rather than class_type. PR c++/11764 * parser.c (cp_parser_expression_statement): Give helpful error for constructor name used as type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154519 138bc75d-0d04-0410-961f-82ee72b054a4
PR c++/9050, DR 147, DR 318 * parser.c (cp_parser_lookup_name): If the name matches the explicit class scope, we're naming the constructor. (cp_parser_constructor_declarator_p): Just use cp_parser_unqualified_id if we have a nested-name-specifier. (cp_parser_direct_declarator): Handle getting an overload set as a constructor declarator. (cp_parser_unqualified_id): Avoid looking up the constructor when naming the destructor. (cp_parser_diagnose_invalid_type_name): Give good diagnostic for improper use of constructor as template. * typeck.c (finish_class_member_access_expr): Give good diagnostic about calling constructor. * error.c (dump_aggr_type): Don't print A::A for injected-class-name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154403 138bc75d-0d04-0410-961f-82ee72b054a4
* g++.dg/tc1/dr147.C: Add reference to PR. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85581 138bc75d-0d04-0410-961f-82ee72b054a4
* g++.dg/tc1: New directory. * g++.dg/tc1/dr108.C, g++.dg/tc1/dr128.C, g++.dg/tc1/dr147.C, g++.dg/tc1/dr179.C, g++.dg/tc1/dr1.C, g++.dg/tc1/dr213.C, g++.dg/tc1/dr74.C, g++.dg/tc1/dr90.C, g++.dg/tc1/dr127.C, g++.dg/tc1/dr137.C, g++.dg/tc1/dr164.C, g++.dg/tc1/dr185.C, g++.dg/tc1/dr20.C, g++.dg/tc1/dr52.C, g++.dg/tc1/dr85.C: New tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76867 138bc75d-0d04-0410-961f-82ee72b054a4