A minor thinko, very easy to fix.
2019-03-26 Ville Voutilainen <[email protected]>
PR libstdc++/89824
Fix based on a suggestion by Antony Polukhin.
* include/std/variant (__gen_vtable): Don't reserve an
additional table slot, _Multi_array already does that.
diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant
index 0984e13..3631463 100644
--- a/libstdc++-v3/include/std/variant
+++ b/libstdc++-v3/include/std/variant
@@ -904,9 +904,7 @@ namespace __variant
using _Func_ptr = _Result_type (*)(_Visitor&&, _Variants...);
using _Array_type =
_Multi_array<_Func_ptr,
- (variant_size_v<remove_reference_t<_Variants>>
- + (is_same_v<_Result_type, __variant_cookie> ? 1 : 0))
- ...>;
+ variant_size_v<remove_reference_t<_Variants>>...>;
static constexpr _Array_type
_S_apply()