I'd rather check what it chokes on rather than just erroring out if it's __clang__ ... that way when it is fixed, newer versions will "just work"
On Feb 23, 2012, at 3:45 PM, Søren Sandmann <[email protected]> wrote: > From: Søren Sandmann Pedersen <[email protected]> > > There are several issues with the Clang compiler and pixman-mmx.c: > > - When not optimizing, it doesn't seem to recognize that an argument > to an __always_inline__ function is compile-time constant. This > results in this error being produced: > > fatal error: error in backend: Invalid operand for inline asm > constraint 'K'! > > - This inline assembly: > > asm ("pmulhuw %1, %0\n\t" > : "+y" (__A) > : "y" (__B) > ); > > results in > > fatal error: error in backend: Unsupported asm: input constraint > with a matching output constraint of incompatible type! > > So disable MMX when the compiler is Clang. > --- > configure.ac | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/configure.ac b/configure.ac > index f39f437..cca4d16 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -294,6 +294,9 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ > #if defined(__GNUC__) && (__GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < > 4)) > #error "Need GCC >= 3.4 for MMX intrinsics" > #endif > +#if defined(__clang__) > +#error "clang chokes on the inline assembly in pixman-mmx.c" > +#endif > #include <mmintrin.h> > int main () { > __m64 v = _mm_cvtsi32_si64 (1); > -- > 1.7.4 > _______________________________________________ Pixman mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/pixman
