aboutsummaryrefslogtreecommitdiff
path: root/source/rotate.cc
diff options
context:
space:
mode:
authorfbarchard@google.com <fbarchard@google.com>2015-03-19 20:36:31 +0000
committerfbarchard@google.com <fbarchard@google.com>2015-03-19 20:36:31 +0000
commitd28cd77f99e623ce2b9493f3b197408503f9ee88 (patch)
tree7c67a6f0809e73b17764e75679cbe8fedff85189 /source/rotate.cc
parentd6d7de57426ae1ed13e8d870e8ef4b5259b2c2f2 (diff)
downloadlibyuv-d28cd77f99e623ce2b9493f3b197408503f9ee88.tar.gz
Enable assembly for clangcl build on Windows. Previously assembly was disabled so clangcl would work, but only with C code. As clangcl mimics both Visual C and GCC, ifdefs need to pick one or the other or often you'll end up with both. In this CL we disable most Visual C code and use the GCC versions which allow assembly for both 32 and 64 bit intel.
BUG=412 TESTED=clang=1 build on windows R=tpsiaki@google.com Review URL: https://webrtc-codereview.appspot.com/51389004 git-svn-id: http://libyuv.googlecode.com/svn/trunk@1341 16f28f9a-4ce2-e073-06de-1de4eb20be90
Diffstat (limited to 'source/rotate.cc')
-rw-r--r--source/rotate.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/rotate.cc b/source/rotate.cc
index 5acaccfd..bfab546a 100644
--- a/source/rotate.cc
+++ b/source/rotate.cc
@@ -20,6 +20,7 @@ namespace libyuv {
extern "C" {
#endif
+// TODO(fbarchard): switch to standard form of inline; fails on clangcl.
#if !defined(LIBYUV_DISABLE_X86) && \
(defined(_M_IX86) || defined(__x86_64__) || defined(__i386__))
#if defined(__APPLE__) && defined(__i386__)
@@ -70,7 +71,7 @@ void TransposeUVWx8_MIPS_DSPR2(const uint8* src, int src_stride,
#endif // defined(__mips__)
#if !defined(LIBYUV_DISABLE_X86) && \
- defined(_M_IX86) && defined(_MSC_VER)
+ defined(_M_IX86) && defined(_MSC_VER) && !defined(__clang__)
#define HAS_TRANSPOSE_WX8_SSSE3
__declspec(naked) __declspec(align(16))
static void TransposeWx8_SSSE3(const uint8* src, int src_stride,
@@ -381,7 +382,7 @@ static void TransposeWx8_SSSE3(const uint8* src, int src_stride,
);
}
-#if !defined(LIBYUV_DISABLE_X86) && defined(__i386__)
+#if !defined(LIBYUV_DISABLE_X86) && defined(__i386__) && !defined(__clang__)
#define HAS_TRANSPOSE_UVWX8_SSE2
void TransposeUVWx8_SSE2(const uint8* src, int src_stride,
uint8* dst_a, int dst_stride_a,