r221750 - Instantiate exception specifications when instantiating function types (other

Richard Smith richard at metafoo.co.uk
Tue Nov 11 17:59:33 PST 2014


On Tue, Nov 11, 2014 at 6:00 PM, Richard Smith <richard-llvm at metafoo.co.uk>
wrote:

> Author: rsmith
> Date: Tue Nov 11 20:00:47 2014
> New Revision: 221750
>
> URL: http://llvm.org/viewvc/llvm-project?rev=221750&view=rev
> Log:
> Instantiate exception specifications when instantiating function types
> (other
> than the type of a function declaration). We previously didn't instantiate
> these at all! This also covers the pathological case where the only
> mention of
> a parameter pack is within the exception specification; this gives us a
> second
> way (other than alias templates) to reach the horrible state where a type
> contains an unexpanded pack, but its canonical type does not.
>
>
> This is a re-commit of r219977:
>
> r219977 was reverted in r220038 because it hit a wrong-code bug in GCC
> 4.7.2.
> (That's gcc.gnu.org/PR56135, and affects any implicit lambda-capture of
> 'this' within a template.)
>
>
> r219977 was a re-commit of r217995, r218011, and r218053:
>
> r217995 was reverted in r218058 because it hit a rejects-valid bug in MSVC.
> (Incorrect overload resolution in the presence of using-declarations.)
> It was re-committed in r219977 with a workaround for the MSVC
> rejects-valid.
>
> r218011 was a workaround for an MSVC parser bug. (Incorrect desugaring of
> unbraced range-based for loop).
>

... and this causes GCC 4.7.2 to ICE. Hell is other compilers.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20141111/24f1060c/attachment.html>


More information about the cfe-commits mailing list