[Pixman] clang 3.0: Unsupported asm: input constraint with a matching output constraint of incompatible type!

Jeremy Huddleston jeremyhu at freedesktop.org
Wed May 30 14:10:12 PDT 2012

On May 30, 2012, at 10:03 AM, Siarhei Siamashka <siarhei.siamashka at gmail.com> wrote:

> On Wed, May 30, 2012 at 7:15 PM, Jeremy Huddleston
> <jeremyhu at freedesktop.org> wrote:
>> My tinderbox (yuffie) is building pixman master using clang-3.0 (from MacPorts) for x86_64:
>> http://tinderbox.x.org/builds/2012-05-30-0005/logs/pixman/#build
>> I don't believe the changes were ever reverted.  Perhaps there is an additional issue that I'm not seeing.  Are you seeing this if you use configure.compiler=macports-clang-3.0? -2.9?
> That's interesting, your clang-3.0 is probably heavily patched.

No, it's not.  The only patches are a couple build fixes for Tiger and a build fix cherry picked from 3.1.

> For
> example, real clang-3.0 should still have the following bug in it:
>    http://llvm.org/bugs/show_bug.cgi?id=11438

Yes, clang-3.0 has the bug, and pixman's configure script should be detecting that and disabling the code path that tickles the bug.  In my case, config.log shows that the check is behaving correctly:

configure:12684: checking whether to use MMX intrinsics
configure:12709: /opt/local/libexec/llvm-3.0/libexec/scan-build/ccc-analyzer -c -mmmx -Winline -O0 -g3 -pipe  -fdiagnostics-show-category=name -Wall -fno-strict-aliasing -fvisibility=hidden -I/Users/jeremy/src/freedesktop/jhbuild/build/include -I/Users/jeremy/src/freedesktop/jhbuild/external/build/include conftest.c >&5
fatal error: error in backend: Invalid operand for inline asm constraint 'K'!
configure:12709: $? = 1
configure: failed program was:
configure:12735: result: no

but Ryan's config.log shows that it is not catching it for him:
configure:12648: checking whether to use MMX intrinsics
configure:12673: /opt/local/bin/clang-mp-3.0 -c -mmmx -Winline -pipe -O2 -arch x86_64 -Wall -fno-strict-aliasing -fvisibility=hidden -I/opt/local/include conftest.c >&5
configure:12673: $? = 0
configure:12699: result: yes

so maybe there are issues with the CFLAGS there, and the test for the bug needs to be improved...

More information about the Pixman mailing list