llvm-project/clang/test/CXX/drs
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
..
dr0xx.cpp Related to PR37768: improve diagnostics for class name shadowing. 2018-06-20 21:58:20 +00:00
dr1xx.cpp Fix regression in r332076. 2018-05-14 20:52:48 +00:00
dr2xx.cpp Replace remaining user-visible mentions of C++1z with C++17. 2017-08-13 22:26:53 +00:00
dr3xx.cpp DR330: when determining whether a cast casts away constness, consider 2018-07-18 20:13:36 +00:00
dr4xx.cpp [Sema] Use %sub to cleanup overload diagnostics 2018-05-30 01:00:41 +00:00
dr5xx.cpp Adjust and fix failing CXX tests after r332799 2018-05-19 03:33:56 +00:00
dr6xx.cpp [constexpr][c++2a] Try-catch blocks in constexpr functions 2018-12-10 19:03:12 +00:00
dr7xx.cpp DR727: remove wrong assertion for use of class-scope explicit 2018-04-23 18:38:30 +00:00
dr9xx.cpp
dr10xx.cpp When substituting previously-checked template arguments into a template 2018-03-08 01:07:33 +00:00
dr11xx.cpp DR1113: anonymous namespaces formally give their contents internal linkage. 2017-09-22 22:21:44 +00:00
dr12xx.cpp DR1213: Ignore implicit conversions when determining if an operand of an 2018-06-27 20:29:32 +00:00
dr13xx.cpp PR38627: Fix handling of exception specification adjustment for 2018-09-05 22:30:37 +00:00
dr14xx.cpp DR1672, DR1813, DR1881, DR2120: Implement recent fixes to "standard 2018-04-05 18:55:37 +00:00
dr15xx.cpp DR1687: When overload resolution selects a built-in operator, implicit 2018-06-27 20:30:34 +00:00
dr16xx.cpp Warn if a local variable's initializer retains a pointer/reference to a 2018-07-24 00:55:08 +00:00
dr17xx.cpp P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991: 2016-06-28 19:03:57 +00:00
dr18xx.cpp Fold -Wreturn-stack-address into general initialization lifetime 2018-07-23 21:21:22 +00:00
dr19xx.cpp PR31606: Generalize our tentative DR resolution for inheriting copy/move 2017-01-13 20:46:54 +00:00
dr20xx.cpp PR33850: Update cxx_dr_status for Clang 5 branch. 2017-08-11 03:14:20 +00:00
dr21xx.cpp Revert r345562: "PR23833, DR2140: an lvalue-to-rvalue conversion on a glvalue of type" 2018-11-03 02:23:33 +00:00
dr22xx.cpp [C++17] Reject shadowing of capture by parameter in lambda 2018-10-25 20:15:03 +00:00
dr118.cpp Add tests for a couple more DRs. 2016-12-09 19:35:45 +00:00
dr158.cpp Make '-disable-llvm-optzns' an alias for '-disable-llvm-passes'. 2016-12-23 00:23:01 +00:00
dr412.cpp
dr1748.cpp