This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/11704] [3.4 Regression] ICE in type_dependent_expression_p with wrong method call in template class


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]