On Tue, Nov 11, 2014 at 6:00 PM, Richard Smith <[email protected]> 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.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
