From c9bfd34fa00eb349f6fc37cbea58b71d96a05138 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Mon, 6 Aug 2012 18:15:49 +0200 Subject: Enable QAtomicInteger for char16_t and char32_t Those are regular, integer types, of 16- and 32-bit width, respectively. C++11's std::atomic supports them, so we should too. C++11 also supports wchar_t, but since that type's size can change, I don't feel like support for it in Qt is pressing. Change-Id: I945b641c91a8a98be82715f878c382dee58ac98b Reviewed-by: Olivier Goffart --- src/corelib/arch/qatomic_cxx11.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/corelib/arch/qatomic_cxx11.h') diff --git a/src/corelib/arch/qatomic_cxx11.h b/src/corelib/arch/qatomic_cxx11.h index 46b94e4029..83160affd7 100644 --- a/src/corelib/arch/qatomic_cxx11.h +++ b/src/corelib/arch/qatomic_cxx11.h @@ -84,6 +84,11 @@ template<> struct QAtomicIntegerTraits { enum { IsInteger = 1 }; template<> struct QAtomicIntegerTraits { enum { IsInteger = 1 }; }; template<> struct QAtomicIntegerTraits { enum { IsInteger = 1 }; }; +# ifdef Q_COMPILER_UNICODE_STRINGS +template<> struct QAtomicIntegerTraits { enum { IsInteger = 1 }; }; +template<> struct QAtomicIntegerTraits { enum { IsInteger = 1 }; }; +# endif + #define Q_ATOMIC_INT8_IS_SUPPORTED #define Q_ATOMIC_INT8_REFERENCE_COUNTING_IS_ALWAYS_NATIVE #define Q_ATOMIC_INT8_TEST_AND_SET_IS_ALWAYS_NATIVE -- cgit v1.2.3