Fix constexpr for llvm 9.0 (#14095)

This commit is contained in:
Dan Lipsa 2019-12-11 15:03:57 -05:00 committed by Adam J. Stewart
parent 69a91b5b6b
commit 6f7a58b142
2 changed files with 13 additions and 0 deletions

View File

@ -0,0 +1,12 @@
-- a/libcxx/include/thread
+++ b/libcxx/include/thread
@@ -370,7 +370,7 @@ sleep_for(const chrono::duration<_Rep, _Period>& __d)
using namespace chrono;
if (__d > duration<_Rep, _Period>::zero())
{
-#if defined(_LIBCPP_COMPILER_GCC) && (__powerpc__ || __POWERPC__)
+#if ! (defined(_LIBCPP_COMPILER_GCC) && (__powerpc__ || __POWERPC__))
// GCC's long double const folding is incomplete for IBM128 long doubles.
_LIBCPP_CONSTEXPR duration<long double> _Max = nanoseconds::max();
#else

View File

@ -197,6 +197,7 @@ class Llvm(CMakePackage):
# see https://bugs.llvm.org/show_bug.cgi?id=39696
# for a bug report about this problem in llvm master.
patch('constexpr_longdouble.patch', when='@6:8+libcxx')
patch('constexpr_longdouble_9.0.patch', when='@9+libcxx')
# Backport from llvm master; see
# https://bugs.llvm.org/show_bug.cgi?id=38233