llvm-project/clang/test/CXX/expr
Richard Smith 82da19ddb3 [c++1z] P0003R5: Removing dynamic exception specifications.
We continue to support dynamic exception specifications in C++1z as an
extension, but produce an error-by-default warning when we encounter one. This
allows users to opt back into the feature with a warning flag, and implicitly
opts system headers back into the feature should they happen to use it.

There is one semantic change implied by P0003R5 but not implemented here:
violating a throw() exception specification should now call std::terminate
directly instead of calling std::unexpected(), but since P0003R5 also removes
std::unexpected() and std::set_unexpected, and the default unexpected handler
calls std::terminate(), a conforming C++1z program cannot tell that we are
still calling it. The upside of this strategy is perfect backwards
compatibility; the downside is that we don't get the more efficient 'noexcept'
codegen for 'throw()'.

llvm-svn: 289019
2016-12-08 02:49:07 +00:00
..
expr.ass The 'constexpr implies const' rule for non-static member functions is gone in 2013-04-21 01:08:50 +00:00
expr.cast
expr.const DR616, and part of P0135R1: member access (or pointer-to-member access) on a 2016-12-03 01:14:32 +00:00
expr.mptr.oper Revert "Don't require -re suffix on -verify directives with regexes." 2013-12-14 01:07:05 +00:00
expr.post [Sema] Allow static_cast<T&&>(e) to check explicit conversions for non-reference-related types. 2016-11-03 02:13:17 +00:00
expr.prim PR23281: Fix implementation of DR1891 to implement the intent: that is, a 2016-11-16 00:03:24 +00:00
expr.unary Re-commit r283722, reverted in r283750, with a fix for a CUDA-specific use of 2016-10-10 18:54:32 +00:00
p3.cpp
p8.cpp
p9.cpp
p10-0x.cpp Update Clang tests to handle explicitly typed load changes in LLVM. 2015-02-27 21:19:58 +00:00
p13.cpp [c++1z] P0003R5: Removing dynamic exception specifications. 2016-12-08 02:49:07 +00:00