The bug https://bugs.llvm.org/show_bug.cgi?id=33222 is now fixed on Clang trunk, so the workaround won't be needed for Clang 8.0 and later.
* include/std/variant (variant) [__clang__]: Limit workaround to Clang 7 and older. Tested x86_64-linux, committed to trunk. I hope somebody will check with Clang trunk soon and verify this works.
commit 6112f62b32c84edd2e2369116ad233f6fef5b585 Author: Jonathan Wakely <jwak...@redhat.com> Date: Thu Sep 13 14:30:05 2018 +0100 Limit workaround for Clang bug to __clang_major__ <= 7 The bug https://bugs.llvm.org/show_bug.cgi?id=33222 is now fixed on Clang trunk, so the workaround won't be needed for Clang 8.0 and later. * include/std/variant (variant) [__clang__]: Limit workaround to Clang 7 and older. diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index 2d86a704c63..5a77e9e2d84 100644 --- a/libstdc++-v3/include/std/variant +++ b/libstdc++-v3/include/std/variant @@ -1296,7 +1296,7 @@ namespace __variant #undef _VARIANT_RELATION_FUNCTION_TEMPLATE -#ifdef __clang__ +#if defined(__clang__) && __clang_major__ <= 7 public: using _Base::_M_u; // See https://bugs.llvm.org/show_bug.cgi?id=31852 private: