[PR c++/81060] ICE with invalid initialzer via lambda

Nathan Sidwell nathan@acm.org
Thu Nov 16 12:34:00 GMT 2017


This patch fixes a regression my name lookup changes caused earlier this 
year.  We'd already emitted an error about a bogus template definition, 
but the fallout from that now killed us :(

I restored some of the handling r247909 removed.  Namely restoring the 
pushing of a lambda type into the scope enclosing an already-completed 
class.

Interestingly, this caused lambda-template13.C to start complaining 
about a not-defined template needing instantiating on a local (lambda) 
class.  That seems correct to me.  function's ctor is instantiated for 
the default arg in:

   void C::foo (T, function = [] {});

Applying to trunk.

nathan
-- 
Nathan Sidwell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 81060.diff
Type: text/x-patch
Size: 3049 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20171116/4812f4a2/attachment.bin>


More information about the Gcc-patches mailing list