[Bug c++/11704] [3.4 Regression] ICE in type_dependent_expression_p with wrong method call in template class
ehrhardt at mathematik dot uni-ulm dot de
gcc-bugzilla@gcc.gnu.org
Tue Jul 29 12:40:00 GMT 2003
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=11704
------- Additional Comments From ehrhardt at mathematik dot uni-ulm dot de 2003-07-29 12:40 -------
Most likely exposed by this patch:
2003-07-08 Mark Mitchell <mark@codesourcery.com>
* cp-tree.def (NON_DEPENDENT_EXPR): New node.
[ ... ]
(finish_class_member_access_expr): Handle non-dependent expressions
correctly.
[ ... ]
(build_x_binary_op): Likewise.
[ ... ]
Namely by the build_x_binary_op part. It definitely didn't ICE with
gcc version 3.4 20030620 (experimental) so this is a regression.
Problem is that a.foo comes with TREE_TYPE() == unknown_type_node and
type_dependent_expression_p barfs if it sees this on a COMPONENT_REF.
I'm not sure if the code as such is legal or not. All previous versions
accept the code but there is no way to instantiate the template without
an error.
More information about the Gcc-bugs
mailing list