This is the mail archive of the gcc-patches@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]

Re: [PATCH, RFA, C++] ICE on ill-formed template_fun(&mem_fun) within template function


Alexandre Oliva wrote:

> for gcc/cp/ChangeLog
> from  Alexandre Oliva  <aoliva@redhat.com>
> 
> 	* class.c (instantiate_type): Handle NON_DEPENDENT_EXPR.
> 	* pt.c (resolve_overloaded_unification): Likewise.
> 	(build_non_dependent_expr): Remove incorrect assertion.
> 	* semantics.c (finish_non_static_data_member): Don't mark
> 	current_class_ptr as used if it's NULL.
> 
> for gcc/testsuite/ChangeLog
> from  Alexandre Oliva  <aoliva@redhat.com>
> 
> 	* g++.dg/template/dependent-expr5.C: New test.

This needs a lot more explanation.  It looks like you may be fixing
several things; in that case, let's explain each thing separately.  For
starters, why is the assertion in pt.c incorrect?  What's the input that
gets us there?  The semantics.c change looks like it might be
independent of the other bits?  Do we really need to pass
NON_DEPENDENT_EXPRs down into instantiate_type?  That's very scary, and
if the only reason is to get an error message, I'd hope we could do it
sooner.

Thanks,

-- 
Mark Mitchell
CodeSourcery
mark@codesourcery.com
(650) 331-3385 x713


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