C++ Logo

sg10

Advanced search

[SG10] Missing feature test macros for C++20 core papers

From: Jonathan Wakely <cxx_at_[hidden]>
Date: Fri, 15 Oct 2021 23:27:09 +0100
I think the following papers should have had a feature test macro:

P0848 <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0848r3.html>
Conditionally Trivial Special Member Functions

P1330 <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1330r0.pdf>
Changing the active member of a union inside constexpr

I need a union in order to implement the std::variant changes in P2231
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2231r1.html> and
a conditionally trivial destructor makes it easier. In order to define the
__cpp_lib_constexpr_variant macro correctly I need to know if the union
usage is actually going to work, but there's no macro for P1330, so I can't
tell.

A macro for constexpr destructors (P0784R7
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0784r7.html>?)
might have been nice too, because if the compiler doesn't support it then
you get an error for even trying to declare a destructor constexpr. Without
a feature test macro there's no reliable way to try to use the feature.

If all the compilers I need to support already implemented those features,
I wouldn't care, but they don't.

https://godbolt.org/z/qG6d7TxhE

Received on 2021-10-15 17:27:23