From a4eff928517ca1199917a73556d70bb30fc2faef Mon Sep 17 00:00:00 2001 From: "Michael B. McLaughlin" Date: Tue, 11 Feb 2014 00:58:45 -0500 Subject: [PATCH] Fixed up a few filters and made it clear that the type change for the user_data_key::key_type was a workaround for a known bug in Clang 3.3. --- N3888_RefImpl/src/N3888_RefImpl.vcxproj.filters | 10 +++++----- N3888_RefImpl/src/drawing.h | 4 ++++ 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/N3888_RefImpl/src/N3888_RefImpl.vcxproj.filters b/N3888_RefImpl/src/N3888_RefImpl.vcxproj.filters index 26597d5..bfb4fa6 100644 --- a/N3888_RefImpl/src/N3888_RefImpl.vcxproj.filters +++ b/N3888_RefImpl/src/N3888_RefImpl.vcxproj.filters @@ -1,4 +1,4 @@ - + @@ -164,16 +164,16 @@ DLLs - + DLLs - + DLLs - + DLLs - + DLLs diff --git a/N3888_RefImpl/src/drawing.h b/N3888_RefImpl/src/drawing.h index 583bb54..51aacf1 100644 --- a/N3888_RefImpl/src/drawing.h +++ b/N3888_RefImpl/src/drawing.h @@ -354,7 +354,11 @@ namespace std { class user_data_key { public: +#ifdef __clang__ // Workaround for Clang 3.3 not supporting 64-bit atomics on 32-bit GNU/Linux typedef ::std::int_fast32_t key_type; +#else + typedef ::std::int_fast64_t key_type; +#endif private: static ::std::atomic _Cnt; key_type _Val;