Compiler errors with Debian clang version 3.5.2-1 with target: x86_64-pc-linux-gnu
$>CC=clang make
...
In file included from enc/encode_block.c:41:
In file included from enc/write_bits.h:42:
In file included from common/common_block.h:31:
In file included from common/simd.h:132:
In file included from common/simd/v128_intrinsics_x86.h:32:
common/simd/v64_intrinsics_x86.h:110:12: error: argument to '__builtin_ia32_psrldqi128' must be a constant integer
; (__m128i)__builtin_ia32_psrldqi128(__a, (c)*8); }) : b;
^ ~~~~~
common/simd/v64_intrinsics_x86.h:110:12: error: can't convert between vector and non-scalar values ('void' and 'v64' (aka '__m128i'))
return c ? __extension__ ({
^ ~~~~~~~~~~~~~~~~
common/simd/v64_intrinsics_x86.h:504:12: error: argument to '__builtin_ia32_pslldqi128' must be a constant integer
; (__m128i)__builtin_ia32_pslldqi128(__a, (c)*8); });
^ ~~~~~
common/simd/v64_intrinsics_x86.h:504:10: error: returning 'void' from a function with incompatible result type 'v64' (aka '__m128i')
return __extension__ ({
^~~~~~~~~~~~~~~~
common/simd/v64_intrinsics_x86.h:508:12: error: argument to '__builtin_ia32_psrldqi128' must be a constant integer
; (__m128i)__builtin_ia32_psrldqi128(__a, (c + 8)*8); });
^ ~~~~~~~~~
common/simd/v64_intrinsics_x86.h:508:10: error: returning 'void' from a function with incompatible result type 'v64' (aka '__m128i')
return __extension__ ({
^~~~~~~~~~~~~~~~
In file included from enc/encode_block.c:41:
In file included from enc/write_bits.h:42:
In file included from common/common_block.h:31:
In file included from common/simd.h:132:
common/simd/v128_intrinsics_x86.h:89:12: error: argument to '__builtin_ia32_psrldqi128' must be a constant integer
; (__m128i)__builtin_ia32_psrldqi128(__a, (c)*8); }), __extension__ ({
^ ~~~~~
common/simd/v128_intrinsics_x86.h:89:12: error: argument to '__builtin_ia32_pslldqi128' must be a constant integer
; (__m128i)__builtin_ia32_pslldqi128(__a, (16 - c)*8); })) : b;
^ ~~~~~~~~~~
common/simd/v128_intrinsics_x86.h:89:27: error: passing 'void' to parameter of incompatible type '__m128i' (vector of 2 'long long' values)
return c ? _mm_or_si128(__extension__ ({
^~~~~~~~~~~~~~~~
/usr/include/clang/3.5.2/include/emmintrin.h:817:22: note: passing argument to parameter '__a' here
_mm_or_si128(__m128i __a, __m128i __b)
^
In file included from enc/encode_block.c:41:
In file included from enc/write_bits.h:42:
In file included from common/common_block.h:31:
In file included from common/simd.h:132:
common/simd/v128_intrinsics_x86.h:528:12: error: argument to '__builtin_ia32_pslldqi128' must be a constant integer
; (__m128i)__builtin_ia32_pslldqi128(__a, (c)*8); });
^ ~~~~~
common/simd/v128_intrinsics_x86.h:528:10: error: returning 'void' from a function with incompatible result type 'v128' (aka '__m128i')
return __extension__ ({
^~~~~~~~~~~~~~~~
common/simd/v128_intrinsics_x86.h:532:12: error: argument to '__builtin_ia32_psrldqi128' must be a constant integer
; (__m128i)__builtin_ia32_psrldqi128(__a, (c)*8); });
^ ~~~~~
common/simd/v128_intrinsics_x86.h:532:10: error: returning 'void' from a function with incompatible result type 'v128' (aka '__m128i')
return __extension__ ({
^~~~~~~~~~~~~~~~
1 warning and 13 errors generated.
Makefile:69: recipe for target 'enc/encode_block.o' failed
make: *** [enc/encode_block.o] Error 1
Compiler errors with Debian clang version 3.5.2-1 with target: x86_64-pc-linux-gnu