diff options
author | Lee Millward <lee.millward@codesourcery.com> | 2006-08-26 17:41:18 +0000 |
---|---|---|
committer | Lee Millward <lmillward@gcc.gnu.org> | 2006-08-26 17:41:18 +0000 |
commit | 0f67a82f746f54701bea05608502944ca26ae715 (patch) | |
tree | 17042b9752adae54363119249db31c45d318974e /gcc/tree.h | |
parent | 9618502bff5f70682077580ff083fe82160b4d7a (diff) | |
download | gcc-0f67a82f746f54701bea05608502944ca26ae715.zip gcc-0f67a82f746f54701bea05608502944ca26ae715.tar.gz gcc-0f67a82f746f54701bea05608502944ca26ae715.tar.bz2 |
re PR c++/28736 (ICE with friend of invalid template class)
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.
From-SVN: r116473
Diffstat (limited to 'gcc/tree.h')
0 files changed, 0 insertions, 0 deletions