Ping :-)
On Sat, Aug 16, 2014 at 10:24 PM, Nico Weber <[email protected]> wrote: > Hi, > > clang currently asserts on the following program when building with > -std=c++11 (PR19190): > > template <class T> struct DWFIterator { virtual T &get() throw(int) = 0; > }; > void foo(DWFIterator<int> *foo) { foo->get(); } > > This is because in C++11, instantiation of exception specs is deferred. > This usually happens in MarkFunctionReferenced(), but that's never called > for pure functions. So the exception spec stays unresolved, and codegen > then complains about that. (See the bug for details.) > > The attached patch lets Sema::MarkAnyDeclReferenced() > call ResolveExceptionSpec() for non-OdrUse functions. This fixes the assert > and passes all tests, but I'm not sure if it's the best place to do this – > hence, pre-commit review, please :-) > > Nico >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
