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
..
2016-02-02 12:39:08 +00:00
2016-11-16 19:31:44 +00:00
2016-11-09 23:10:44 +00:00
2016-12-01 20:16:56 +00:00
2016-07-12 16:56:33 +00:00
2016-02-20 09:23:41 +00:00
2016-02-20 09:23:41 +00:00
2016-07-29 19:43:28 +00:00
2016-09-15 06:31:30 +00:00
2016-03-22 17:10:07 +00:00
2016-06-21 03:43:11 +00:00
2015-08-27 21:35:41 +00:00
2016-06-25 00:37:14 +00:00
2016-06-14 21:02:05 +00:00