This attempts to fix building with clang-cl (the clang compiler that attempts to be MSVC compatible), by:
Fixing graphene-macros.h by checking for the existance of __GNUC__ before trying to check its value, since clang-cl defines _MSC_VER but not __GNUC__, unlike clang on *NIX.
Improve detection of compiler flags used for clang-cl, which follows more the ones used on GCC than Visual Studio, and filter out those that aren't supported. Also, force -msse4.1 since that is required for bulding the SSE 4.1 code on clang-cl.
Disable the deprecation warnings that result form the Visual Studio headers, which clang-cl utilizes.
For the SSE/ARM NEON SIMD implementations, make clang-cl follow the GCC codepath, since __extension__ is supported there as well.
Hi,
This attempts to fix building with
clang-cl
(the clang compiler that attempts to be MSVC compatible), by:graphene-macros.h
by checking for the existance of__GNUC__
before trying to check its value, sinceclang-cl
defines_MSC_VER
but not__GNUC__
, unlike clang on *NIX.clang-cl
, which follows more the ones used on GCC than Visual Studio, and filter out those that aren't supported. Also, force-msse4.1
since that is required for bulding the SSE 4.1 code onclang-cl
.clang-cl
utilizes.clang-cl
follow the GCC codepath, since__extension__
is supported there as well.With blessings, thank you!