From 5d3197618e0ad334fffa5400927472c66c5fb43f Mon Sep 17 00:00:00 2001 From: Pavel Roskin Date: Fri, 30 Dec 2016 10:21:53 -0800 Subject: [PATCH] Fix pixmap compilation with clang Clang does not allow a variable to be used for the "K" register, even if all uses of the inlined function use a constant value. The current version of pixmap doesn't use the inline function. It uses a macro regardless of the optimization level. There should be no performance overhead from using the macro. --- xorg/X11R7.6/pixman-0.30.0.patch | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 xorg/X11R7.6/pixman-0.30.0.patch diff --git a/xorg/X11R7.6/pixman-0.30.0.patch b/xorg/X11R7.6/pixman-0.30.0.patch new file mode 100644 index 00000000..35acdc51 --- /dev/null +++ b/xorg/X11R7.6/pixman-0.30.0.patch @@ -0,0 +1,11 @@ +--- a/pixman/pixman-mmx.c ++++ b/pixman/pixman-mmx.c +@@ -89,7 +89,7 @@ _mm_mulhi_pu16 (__m64 __A, __m64 __B) + return __A; + } + +-# ifdef __OPTIMIZE__ ++# if defined(__OPTIMIZE__) && !defined(__clang__) + extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__)) + _mm_shuffle_pi16 (__m64 __A, int8_t const __N) + {