This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r154223 - in /trunk/gcc: cp/ChangeLog cp/decl.c...


Author: jason
Date: Mon Nov 16 23:29:25 2009
New Revision: 154223

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=154223
Log:
	PR c++/13950, DR 176
	* search.c (lookup_field_r): Allow lookup to find the
	injected-class-name from a template base.
	(template_self_reference_p): Remove.
	* decl.c (make_typename_type): Diagnose ambiguity.  Use
	maybe_get_template_decl_from_type_decl.
	* parser.c (cp_parser_template_name): Pass true to is_template
	rather than use maybe_get_template_decl_from_type_decl.
	(cp_parser_lookup_name): Use maybe_get_template_decl_from_type_decl.
	* pt.c (maybe_get_template_decl_from_type_decl): Handle ambiguity.
	Use DECL_SELF_REFERENCE_P.

	* parser.c (cp_parser_parse_and_diagnose_invalid_type_name):
	Avoid duplicate ambiguity error.
	* error.c (dump_decl): Don't say "typedef" for injected-class-name.
	* pt.c (convert_template_argument): Tweak logic.

Added:
    trunk/gcc/testsuite/g++.dg/template/injected1.C
Modified:
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/decl.c
    trunk/gcc/cp/error.c
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/search.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.dg/template/inherit.C
    trunk/gcc/testsuite/g++.old-deja/g++.brendan/crash56.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/lookup8.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/ttp22.C
    trunk/gcc/testsuite/g++.old-deja/g++.pt/ttp23.C


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]