2008-02-15 Douglas Gregor <doug.gregor@gmail.com>
authordgregor <dgregor@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Feb 2008 17:33:02 +0000 (17:33 +0000)
committerdgregor <dgregor@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Feb 2008 17:33:02 +0000 (17:33 +0000)
commitdecf9b6193f3df93a1a52daf3f0cba3d56e9a24d
tree4be6e73c708aaa2c7d6a020cbfcf01b14cf713f1
parent83678863c3d9e36dc2c017a33922ad65c1aeed82
2008-02-15  Douglas Gregor  <doug.gregor@gmail.com>

PR c++/35023
PR c++/35024
PR c++/35026
* pt.c (finish_member_template_decl): If the type in a TYPE_DECL
is error_mark_node, return an error early.
(find_parameter_packs_r): Pass the pointer set along to recursive
calls of cp_walk_subtrees; don't try to manage the pointer set
ourselves.
(uses_parameter_packs): Pass the pointer set to cp_walk_tree.
(make_pack_expansion): Ditto.
(check_for_bare_parameter_packs): Ditto. Also, don't bother taking
a second pass through the tree with find_parameter_packs_r; that
second pass no longer does anything.
(push_template_decl_real): If we have an erroneous declaration,
set its type to error_mark_node before returning an error.

2008-02-15  Douglas Gregor  <doug.gregor@gmail.com>

PR c++/35023
PR c++/35024
PR c++/35026
* g++.dg/cpp0x/vt-35026.C: New.
* g++.dg/cpp0x/vt-35023.C: New.
* g++.dg/cpp0x/vt-34055.C: Tweak expected error messages.
* g++.dg/cpp0x/vt-35024.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132348 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/vt-34055.C
gcc/testsuite/g++.dg/cpp0x/vt-35023.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/vt-35024.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/vt-35026.C [new file with mode: 0644]