cp:
authornathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 25 Jan 2003 18:02:43 +0000 (18:02 +0000)
committernathan <nathan@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 25 Jan 2003 18:02:43 +0000 (18:02 +0000)
commitd622b3bd05b959236c6cdc8a78f8322b4788e5af
treebbea47d7b8e0183a5f7884bf430c0c75e59768f9
parent47c833665771d28a5eb1c84ff9dbcb0df0822306
cp:
PR c++/9403
* parser.c (cp_parser_class_or_namespace_name): Reject duplicate
template keyword.
(cp_parser_base_specifier): Look for and consume a
TEMPLATE keyword. Replace switch with array index.

PR c++/795
* semantics.c (finish_non_static_data_member): Remember the
field's type even in a template.

PR c++/9415
* pt.c (tsubst_copy_and_build, CALL_EXPR): BASELINK exprs are
already scoped.

PR c++/8545
* parser.c (cp_parser_cast_expression): Be more tentative.
testsuite:
PR c++/9403
* g++.dg/parse/template3.C: New test.
* g++.old-deja/g++.pt/memclass5.C: Add needed template keyword.

PR c++/795
* g++.dg/parse/template4.C: New test.

PR c++/9415
* g++.dg/template/qual2.C: New test.

PR c++/8545
* g++.old-deja/g++.brendan/parse3.C: Remove XFAIL.

* g++.old-deja/g++.ns/bogus1.C: Change expected error.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61791 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/semantics.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/template3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/template4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/qual2.C [new file with mode: 0644]
gcc/testsuite/g++.old-deja/g++.brendan/parse3.C
gcc/testsuite/g++.old-deja/g++.ns/bogus1.C
gcc/testsuite/g++.old-deja/g++.pt/memclass5.C