Hi,

As PR12917 notes, the mangling of lambads within templates is currently
wrong -- not only do we not follow the ABI, we sometimes give the same
mangled name to multiple lambdas. We use the templated declaration as the
mangling context rather than the instantiation, and we don't take into
account that the mangling number can depend on the number of template
arguments if the template is variadic.

The attached patch fixes this by delaying the computation of the mangling
information for a lambda in a dependent context until after instantiation.

Please review!

Thanks,
Richard

Attachment: mangle-lambdas.diff
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to