llvm-project/clang/test/CXX
Bruno Cardoso Lopes 5c1399a582 [constexpr][c++2a] Try-catch blocks in constexpr functions
Implement support for try-catch blocks in constexpr functions, as
proposed in http://wg21.link/P1002 and voted in San Diego for c++20.

The idea is that we can still never throw inside constexpr, so the catch
block is never entered. A try-catch block like this:

try { f(); } catch (...) { }

is then morally equivalent to just

{ f(); }

Same idea should apply for function/constructor try blocks.

rdar://problem/45530773

Differential Revision: https://reviews.llvm.org/D55097

llvm-svn: 348789
2018-12-10 19:03:12 +00:00
..
basic Restore pre-r335182 behavior for naming inherited constructors as 2018-06-22 19:50:19 +00:00
class Related to PR37768: improve diagnostics for class name shadowing. 2018-06-20 21:58:20 +00:00
class.access Diagnose invalid cv-qualifiers for friend decls. 2018-08-03 22:09:44 +00:00
class.derived [cxx2a] P0641R2: (Some) type mismatches on defaulted functions only 2018-09-28 01:16:43 +00:00
concepts-ts Remove old concepts parsing code 2017-12-07 00:34:20 +00:00
conv Specify an explicit underlying type for this enum to fix Windows 2018-06-29 20:41:23 +00:00
cpp/cpp.predefined P0035R4: add predefined __STDCPP_DEFAULT_NEW_ALIGNMENT__ macro. By default, we 2016-09-30 22:41:36 +00:00
dcl.dcl [constexpr][c++2a] Try-catch blocks in constexpr functions 2018-12-10 19:03:12 +00:00
dcl.decl [cxx2a] P0641R2: (Some) type mismatches on defaulted functions only 2018-09-28 01:16:43 +00:00
drs [constexpr][c++2a] Try-catch blocks in constexpr functions 2018-12-10 19:03:12 +00:00
except Revert "[CodeGenCXX] Treat 'this' as noalias in constructors" 2018-10-15 15:43:00 +00:00
expr P0859R0: List-initialization is potentially-constant-evaluated and 2018-09-26 04:36:55 +00:00
lex Convert test/CXX/lex/lex.literal/lex.string/p4.cpp back to DOS line 2016-01-04 10:17:48 +00:00
modules-ts Bring r325915 back. 2018-02-23 19:30:48 +00:00
over DR1687: When overload resolution selects a built-in operator, implicit 2018-06-27 20:30:34 +00:00
special PR24164, PR39336: init-captures are not distinct full-expressions. 2018-10-19 19:01:34 +00:00
stmt.stmt P0962R1: only use the member form of 'begin' and 'end' in a range-based 2018-09-24 23:17:44 +00:00
temp P0859R0: List-initialization is potentially-constant-evaluated and 2018-09-26 04:36:55 +00:00