OSDN Git Service

PR c++/28736
authorlmillward <lmillward@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Aug 2006 17:41:18 +0000 (17:41 +0000)
committerlmillward <lmillward@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 26 Aug 2006 17:41:18 +0000 (17:41 +0000)
commit21bd02a96f8322e5a61ad27630d09e46b6f0936d
tree17042b9752adae54363119249db31c45d318974e
parentd4c6e41d6a8da15b0babc4035c2477535dbc1827
    PR c++/28736
        PR c++/28737
        PR c++/28738
        * pt.c (process_template_parm): Store invalid template
        parameters as a TREE_LIST with a TREE_VALUE of error_mark_node.
        (push_inline_template_parms_recursive): Check for template
        parameters having a TREE_VALUE of error_mark_node rather than
        check the parameter itself.
        (mangle_class_name_for_template): Likewise.
        (comp_template_parms): When comparing the individual template
        parameters, return 1 if either is error_mark_node.
        (current_template_args): Robustify.
        (redeclare_class_template): Likewise.

        * g++.dg/template/void10.C: New test.
        * g++.dg/template/void8.C: New test.
        * g++.dg/template/void9.C: New test.

        * g++.dg/template/void3.C: Adjust error markers.
        * g++.dg/template/void4.C: Likewise.
        * g++.dg/template/crash55.C: Likewise.
        * g++.dg/template/void7.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@116473 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/pt.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/template/crash55.C
gcc/testsuite/g++.dg/template/void10.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/void3.C
gcc/testsuite/g++.dg/template/void4.C
gcc/testsuite/g++.dg/template/void7.C
gcc/testsuite/g++.dg/template/void8.C [new file with mode: 0644]
gcc/testsuite/g++.dg/template/void9.C [new file with mode: 0644]