A minor thinko, very easy to fix.

2019-03-26  Ville Voutilainen  <ville.voutilai...@gmail.com>

    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()

Reply via email to