C++ PATCH for c++/47049 (ICE with lambda in template)
Jason Merrill
jason@redhat.com
Sat May 28 13:28:00 GMT 2011
The problem with this testcase was that we were trying to generate the
mangled name of an uninstantiated lambda; we shouldn't ever try to
mangle an uninstantiated template. So I changed
start_preparsed_function to avoid that. After that was fixed, I found
that I also needed to modify maybe_add_lambda_conv_op so that it would
get the right comdat group for op() even if it hasn't been instantiated yet.
To guard against similar problems in future I added an assert to
mangle_decl_string so that we don't try to mangle templates anymore.
This revealed an issue with the #pragma interface code, also fixed.
Tested x86_64-pc-linux-gnu, applying to trunk.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 47049.patch
Type: text/x-patch
Size: 3778 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20110528/0dc7e262/attachment.bin>
More information about the Gcc-patches
mailing list