re PR c++/27329 (ICE with misplaced expression)
authorLee Millward <lee.millward@codesourcery.com>
Mon, 25 Sep 2006 19:45:34 +0000 (19:45 +0000)
committerLee Millward <lmillward@gcc.gnu.org>
Mon, 25 Sep 2006 19:45:34 +0000 (19:45 +0000)
commit60feef2c2dd41cc6c6e9cd492c3e1199595326d8
tree7344bf4f6330bee0ad5f5c66edb47f0335d0fb28
parent6b61b9573985890223c2f8b330fb83b0e5914419
re PR c++/27329 (ICE with misplaced expression)

        PR c++/27329
        PR c++/26938
        * cp-tree.h (redeclare_class_template): Adjust declaration
        to return bool instead of void.
        * pt.c (redeclare_class_template): Update definition. Return
        false on error.
        * decl.c (xref_tag): Return error_mark_node if redeclare_class_template
        returned false.

        * g++.dg/template/crash58.C: New test.
        * g++.dg/template/crash59.C: New test.
        * g++.dg/parse/crash28.C: Adjust error markers.
        * g++.dg/template/crash34.C: Likewise.
        * g++.dg/template/friend31.C: Likewise.
        * g++.dg/template/crash32.C: Likewise.

From-SVN: r117205
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/parse/crash28.C
gcc/testsuite/g++.dg/template/crash32.C
gcc/testsuite/g++.dg/template/crash34.C
gcc/testsuite/g++.dg/template/crash58.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/crash59.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/friend31.C