summaryrefslogtreecommitdiff
path: root/vcl/inc/opengl
diff options
context:
space:
mode:
authorRene Engelhard <rene@debian.org>2019-11-09 11:03:47 +0100
committerRene Engelhard <rene@debian.org>2019-11-09 13:28:21 +0100
commit9336ae40d51e9a95ea31dd5fcfa5b67a9b2bafd7 (patch)
treed17d8880c64be23d537570529feb5125649c5593 /vcl/inc/opengl
parentcb413b1de64dfaddf38f347b2f53d28f3c8246c6 (diff)
disable static_assert on AtomicCounter::is_always_lock_free on armel ...
... since AtomicCounter::is_always_lock_free seems to be always false on armel Change-Id: I89c15fd41337ac5b29f781722423427825e6ff45 Reviewed-on: https://gerrit.libreoffice.org/82165 Tested-by: Rene Engelhard <rene@debian.org> Reviewed-by: Rene Engelhard <rene@debian.org>
Diffstat (limited to 'vcl/inc/opengl')
-rw-r--r--vcl/inc/opengl/zone.hxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/vcl/inc/opengl/zone.hxx b/vcl/inc/opengl/zone.hxx
index 3210186c3096..90b7f48fd5a8 100644
--- a/vcl/inc/opengl/zone.hxx
+++ b/vcl/inc/opengl/zone.hxx
@@ -35,8 +35,12 @@ class VCL_DLLPUBLIC OpenGLZone {
// that is actually lock-free. However, gnEnterCount and gnLeaveCount are both monotonically
// increasing, so will eventually overflow, so the underlying type better be unsigned, which
// sig_atomic_t is not guaranteed to be:
+#if !defined ARM32 || (defined ARM32 && defined __ARM_PCS_VFP)
using AtomicCounter = std::atomic<std::make_unsigned_t<std::sig_atomic_t>>;
static_assert(AtomicCounter::is_always_lock_free);
+#else
+ using AtomicCounter = volatile std::make_unsigned_t<std::sig_atomic_t>;
+#endif
/// how many times have we entered a GL zone
static AtomicCounter gnEnterCount;