diff options
Diffstat (limited to 'clang/test/SemaCXX/constant-expression-cxx1y.cpp')
-rw-r--r-- | clang/test/SemaCXX/constant-expression-cxx1y.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/constant-expression-cxx1y.cpp b/clang/test/SemaCXX/constant-expression-cxx1y.cpp index 7a2fa44c217..136f7b198a8 100644 --- a/clang/test/SemaCXX/constant-expression-cxx1y.cpp +++ b/clang/test/SemaCXX/constant-expression-cxx1y.cpp @@ -887,3 +887,14 @@ namespace Bitfields { } static_assert(test(), ""); } + +namespace PR17615 { + struct A { + int &&r; + constexpr A(int &&r) : r(static_cast<int &&>(r)) {} + constexpr A() : A(0) { + (void)+r; // expected-note {{outside its lifetime}} + } + }; + constexpr int k = A().r; // expected-error {{constant expression}} expected-note {{in call to}} +} |