royjacobson created this revision. Herald added a project: All. royjacobson requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
Those two DRs about the (copy) triviality of types with deleted special member functions are not implemented in MSVC. Document them as such. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D129583 Files: clang/test/CXX/drs/dr14xx.cpp clang/test/CXX/drs/dr17xx.cpp clang/www/cxx_dr_status.html Index: clang/www/cxx_dr_status.html =================================================================== --- clang/www/cxx_dr_status.html +++ clang/www/cxx_dr_status.html @@ -8790,7 +8790,7 @@ <td><a href="https://wg21.link/cwg1496">1496</a></td> <td>CD4</td> <td>Triviality with deleted and missing default constructors</td> - <td class="none" align="center">Unknown</td> + <td class="none" align="center">No</td> </tr> <tr id="1497"> <td><a href="https://wg21.link/cwg1497">1497</a></td> @@ -10218,7 +10218,7 @@ <td><a href="https://wg21.link/cwg1734">1734</a></td> <td>CD4</td> <td>Nontrivial deleted copy functions</td> - <td class="none" align="center">Unknown</td> + <td class="none" align="center">No</td> </tr> <tr class="open" id="1735"> <td><a href="https://wg21.link/cwg1735">1735</a></td> Index: clang/test/CXX/drs/dr17xx.cpp =================================================================== --- clang/test/CXX/drs/dr17xx.cpp +++ clang/test/CXX/drs/dr17xx.cpp @@ -27,6 +27,16 @@ #endif } +namespace dr1734 { // dr1734: no +#if __cplusplus >= 201103L +struct A { + A(const A&) = delete; +}; +// FIXME: A should not be trivially copyable. +static_assert(__is_trivially_copyable(A), ""); +#endif +} + namespace dr1736 { // dr1736: 3.9 #if __cplusplus >= 201103L struct S { Index: clang/test/CXX/drs/dr14xx.cpp =================================================================== --- clang/test/CXX/drs/dr14xx.cpp +++ clang/test/CXX/drs/dr14xx.cpp @@ -501,4 +501,15 @@ template<typename ...Ts> int c<0, Ts...>; // expected-error {{not more specialized}} #endif } + +namespace dr1496 { // dr1496: no +#if __cplusplus >= 201103L +struct A { + A() = delete; +}; +// FIXME: A should not be trivial. +static_assert(__is_trivial(A), ""); +#endif +} + #endif
Index: clang/www/cxx_dr_status.html =================================================================== --- clang/www/cxx_dr_status.html +++ clang/www/cxx_dr_status.html @@ -8790,7 +8790,7 @@ <td><a href="https://wg21.link/cwg1496">1496</a></td> <td>CD4</td> <td>Triviality with deleted and missing default constructors</td> - <td class="none" align="center">Unknown</td> + <td class="none" align="center">No</td> </tr> <tr id="1497"> <td><a href="https://wg21.link/cwg1497">1497</a></td> @@ -10218,7 +10218,7 @@ <td><a href="https://wg21.link/cwg1734">1734</a></td> <td>CD4</td> <td>Nontrivial deleted copy functions</td> - <td class="none" align="center">Unknown</td> + <td class="none" align="center">No</td> </tr> <tr class="open" id="1735"> <td><a href="https://wg21.link/cwg1735">1735</a></td> Index: clang/test/CXX/drs/dr17xx.cpp =================================================================== --- clang/test/CXX/drs/dr17xx.cpp +++ clang/test/CXX/drs/dr17xx.cpp @@ -27,6 +27,16 @@ #endif } +namespace dr1734 { // dr1734: no +#if __cplusplus >= 201103L +struct A { + A(const A&) = delete; +}; +// FIXME: A should not be trivially copyable. +static_assert(__is_trivially_copyable(A), ""); +#endif +} + namespace dr1736 { // dr1736: 3.9 #if __cplusplus >= 201103L struct S { Index: clang/test/CXX/drs/dr14xx.cpp =================================================================== --- clang/test/CXX/drs/dr14xx.cpp +++ clang/test/CXX/drs/dr14xx.cpp @@ -501,4 +501,15 @@ template<typename ...Ts> int c<0, Ts...>; // expected-error {{not more specialized}} #endif } + +namespace dr1496 { // dr1496: no +#if __cplusplus >= 201103L +struct A { + A() = delete; +}; +// FIXME: A should not be trivial. +static_assert(__is_trivial(A), ""); +#endif +} + #endif
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits