summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libcxx/src/chrono.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/libcxx/src/chrono.cpp b/libcxx/src/chrono.cpp
index 62149fbf420..14b848bfc9c 100644
--- a/libcxx/src/chrono.cpp
+++ b/libcxx/src/chrono.cpp
@@ -6,7 +6,7 @@
// Source Licenses. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
-
+#define _LIBCPP_BUILDING_CHRONO
#include "chrono"
#include "cerrno" // errno
#include "system_error" // __throw_system_error
@@ -32,6 +32,9 @@ namespace chrono
// system_clock
const bool system_clock::is_steady;
+// Make is_steady non-discardable in C++17
+// See PR28395 (https://llvm.org/bugs/show_bug.cgi?id=28395)
+static const bool& __is_steady_force_use1 __attribute__((used)) = system_clock::is_steady;
system_clock::time_point
system_clock::now() _NOEXCEPT
@@ -68,6 +71,10 @@ system_clock::from_time_t(time_t t) _NOEXCEPT
// instead.
const bool steady_clock::is_steady;
+// Make is_steady non-discardable in C++17
+// See PR28395 (https://llvm.org/bugs/show_bug.cgi?id=28395)
+static const bool& __is_steady_force_use2 __attribute__((used)) = steady_clock::is_steady;
+
#ifdef CLOCK_MONOTONIC
OpenPOWER on IntegriCloud