On 2014-03-27 20:45, Adam Butcher wrote:
PR c++/60573
* name-lookup.h (cp_binding_level): New field scope_defines_class_p.
* semantics.c (begin_class_definition): Set scope_defines_class_p.
* pt.c (instantiate_class_template_1): Likewise.
* parser.c (synthesize_implicit_template_parm): Use
cp_binding_level::
scope_defines_class_p rather than TYPE_BEING_DEFINED as the
predicate
for unwinding to class-defining scope to handle the erroneous
definition
of a generic function of an arbitrarily nested class within an
enclosing
class.
Still got issues with this. It fails on out-of-line defs. I'll have
another look.