<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">From 5612bf697682de0dab83b2f357ce4254609fb471 Mon Sep 17 00:00:00 2001
From: Iain Sandoe &lt;iain@sandoe.co.uk&gt;
Date: Sat, 11 Apr 2015 19:58:48 +0100
Subject: [PATCH] Fix up thread constexpr for GCC where the PPC port
 can't do long long constexpr.

---
 libcxx/include/thread | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libcxx/include/thread b/libcxx/include/thread
index 0629d70efda..7c8934184f2 100644
--- a/libcxx/include/thread
+++ b/libcxx/include/thread
@@ -435,7 +435,12 @@ sleep_for(const chrono::duration&lt;_Rep, _Period&gt;&amp; __d)
     using namespace chrono;
     if (__d &gt; duration&lt;_Rep, _Period&gt;::zero())
     {
+#if defined(_LIBCPP_COMPILER_GCC) &amp;&amp; (__powerpc__ || __POWERPC__)
+         // GCC's long double const folding is incomplete for IBM128 long doubles.
+        _LIBCPP_CONSTEXPR duration&lt;long double&gt; _Max = duration&lt;long double&gt;(ULLONG_MAX/1000000000ULL) ;
+#else
         _LIBCPP_CONSTEXPR duration&lt;long double&gt; _Max = nanoseconds::max();
+#endif
         nanoseconds __ns;
         if (__d &lt; _Max)
         {
</pre></body></html>