From 42d0f08d185caa099347099826db9c0142430b46 Mon Sep 17 00:00:00 2001 From: hendricks266 Date: Mon, 23 May 2016 04:46:07 +0000 Subject: [PATCH] libdivide.h: Silence "warning: non-constant-expression cannot be narrowed from type 'uint64_t' (aka 'unsigned long long') to 'long long' in initializer list in C++11 [-Wc++11-narrowing]". The problem that the block of code in question works around was fixed in LLVM r82228 and landed in clang 2.7. git-svn-id: https://svn.eduke32.com/eduke32@5732 1a8010ca-5511-0410-912e-c29ae57300e0 --- polymer/eduke32/build/include/libdivide.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/polymer/eduke32/build/include/libdivide.h b/polymer/eduke32/build/include/libdivide.h index fa8a3fa1b..ab30fa1ea 100644 --- a/polymer/eduke32/build/include/libdivide.h +++ b/polymer/eduke32/build/include/libdivide.h @@ -238,7 +238,7 @@ static inline __m128i libdivide__u64_to_m128(uint64_t x) { #elif defined(__ICC) uint64_t __attribute__((aligned(16))) temp[2] = {x,x}; return _mm_load_si128((const __m128i*)temp); -#elif __clang__ +#elif __clang__ && (2 > __clang_major__ || (2 == __clang_major__ && 7 > __clang_minor__)) // clang does not provide this intrinsic either return (__m128i){x, x}; #else