Add test for DR1359.

llvm-svn: 272575
This commit is contained in:
Richard Smith 2016-06-13 19:04:44 +00:00
parent 6ff8f25a51
commit 4bc32f28a9
2 changed files with 17 additions and 1 deletions

View File

@ -28,3 +28,19 @@ namespace dr1346 { // dr1346: 3.5
}
#endif
}
namespace dr1359 { // dr1359: 3.5
#if __cplusplus >= 201103L
union A { constexpr A() = default; };
union B { constexpr B() = default; int a; }; // expected-error {{not constexpr}} expected-note 2{{candidate}}
union C { constexpr C() = default; int a, b; }; // expected-error {{not constexpr}} expected-note 2{{candidate}}
struct X { constexpr X() = default; union {}; };
struct Y { constexpr Y() = default; union { int a; }; }; // expected-error {{not constexpr}} expected-note 2{{candidate}}
constexpr A a = A();
constexpr B b = B(); // expected-error {{no matching}}
constexpr C c = C(); // expected-error {{no matching}}
constexpr X x = X();
constexpr Y y = Y(); // expected-error {{no matching}}
#endif
}

View File

@ -7969,7 +7969,7 @@ and <I>POD class</I></td>
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1359">1359</a></td>
<td>CD3</td>
<td><TT>constexpr</TT> union constructors</td>
<td class="none" align="center">Unknown</td>
<td class="svn" align="center">SVN</td>
</tr>
<tr class="open" id="1360">
<td><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1360">1360</a></td>