HomePhabricator

[constexpr][c++2a] Try-catch blocks in constexpr functions

Description

[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

Details

Committed
brunoDec 10 2018, 11:03 AM
Differential Revision
D55097: [constexpr][c++2a] Try-catch blocks in constexpr functions
Branches
Unknown
Tags
Unknown