re PR c++/34054 (ICE with parameter pack in return type)
authorJakub Jelinek <jakub@redhat.com>
Tue, 13 Nov 2007 18:27:09 +0000 (19:27 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 13 Nov 2007 18:27:09 +0000 (19:27 +0100)
commit046e40718070e75485fd70ff7d4349596bb7630a
tree35c42534fc87425283ca5817c084bcdc35bb88eb
parentf6ee9faefced4284e4d602a84a745e3456a58f2e
re PR c++/34054 (ICE with parameter pack in return type)

PR c++/34054
PR c++/34056
PR c++/34057
PR c++/34058
PR c++/34060
* pt.c (find_parameter_packs_r): If ppd->set_packs_to_error,
set to error_mark_node the outermost POINTER_TYPE to the pack if
it is seen in a POINTER_TYPE.
(push_template_decl_real): If check_for_bare_parameter_packs
fails for function return type, set the return type to
integer_type_node.  If check_for_bare_parameter_packs failed
for non-function, return error_mark_node.

* g++.dg/parse/crash36.C: Add another dg-error.
* g++.dg/cpp0x/pr34054.C: New test.
* g++.dg/cpp0x/pr34056.C: New test.
* g++.dg/cpp0x/pr34057.C: New test.
* g++.dg/cpp0x/pr34058.C: New test.
* g++.dg/cpp0x/pr34060.C: New test.

From-SVN: r130152
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp0x/pr34054.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/pr34056.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/pr34057.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/pr34058.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp0x/pr34060.C [new file with mode: 0644]
gcc/testsuite/g++.dg/parse/crash36.C