summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2015-10-14 09:37:50 -0700
committerNico Weber <thakis@chromium.org>2015-10-14 09:37:50 -0700
commitae2d47b22d213cb36a66326c3167cfbbae90b9d4 (patch)
treec2f21a859c20954b073ff78f683a1d082f762061
parent7d54a9f70f977ce9b72959ef55dc6300713ccafe (diff)
downloadpdfium-ae2d47b22d213cb36a66326c3167cfbbae90b9d4.tar.xz
Land temporary workaround for clang-cl not yet understanding __emulchromium/2537chromium/2536
BUG=543182 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1405553003 .
-rw-r--r--third_party/libopenjpeg20/opj_intmath.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/third_party/libopenjpeg20/opj_intmath.h b/third_party/libopenjpeg20/opj_intmath.h
index 3f7934c470..c52e7e0155 100644
--- a/third_party/libopenjpeg20/opj_intmath.h
+++ b/third_party/libopenjpeg20/opj_intmath.h
@@ -192,7 +192,8 @@ Multiply two fixed-precision rational numbers.
@return Returns a * b
*/
static INLINE OPJ_INT32 opj_int_fix_mul(OPJ_INT32 a, OPJ_INT32 b) {
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__INTEL_COMPILER) && defined(_M_IX86)
+// TODO(thakis): Remove __clang__ once chromium's clang has clang r250301
+#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__INTEL_COMPILER) && defined(_M_IX86) && !defined(__clang__)
OPJ_INT64 temp = __emul(a, b);
#else
OPJ_INT64 temp = (OPJ_INT64) a * (OPJ_INT64) b ;
@@ -204,7 +205,8 @@ static INLINE OPJ_INT32 opj_int_fix_mul(OPJ_INT32 a, OPJ_INT32 b) {
}
static INLINE OPJ_INT32 opj_int_fix_mul_t1(OPJ_INT32 a, OPJ_INT32 b) {
-#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__INTEL_COMPILER) && defined(_M_IX86)
+// TODO(thakis): Remove __clang__ once chromium's clang has clang r250301
+#if defined(_MSC_VER) && (_MSC_VER >= 1400) && !defined(__INTEL_COMPILER) && defined(_M_IX86) && !defined(__clang__)
OPJ_INT64 temp = __emul(a, b);
#else
OPJ_INT64 temp = (OPJ_INT64) a * (OPJ_INT64) b ;