diff options
author | Douglas Gregor <doug.gregor@gmail.com> | 2008-02-15 17:33:02 +0000 |
---|---|---|
committer | Doug Gregor <dgregor@gcc.gnu.org> | 2008-02-15 17:33:02 +0000 |
commit | 92fab505d29cc38f12ad0369648ef7d0a54a3aef (patch) | |
tree | 4be6e73c708aaa2c7d6a020cbfcf01b14cf713f1 /gcc/cp/ChangeLog | |
parent | e8900287b29f4a9093299f76ab8838f79ea151c6 (diff) | |
download | gcc-92fab505d29cc38f12ad0369648ef7d0a54a3aef.zip gcc-92fab505d29cc38f12ad0369648ef7d0a54a3aef.tar.gz gcc-92fab505d29cc38f12ad0369648ef7d0a54a3aef.tar.bz2 |
re PR c++/35023 (ICE with parameter pack in variable declaration)
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.
From-SVN: r132348
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r-- | gcc/cp/ChangeLog | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 3853983..6789236 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,21 @@ +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-14 Douglas Gregor <doug.gregor@gmail.com> PR c++/34050 |