Hi,

Some time ago there was discussion about the value of
MaxAtomicInlineWidth on ARM, which was not set, causing Clang not to
fall back to the __sync_* intrinsics. It seems that this got fixed for
Linux (r181728 and r181750), even though this issue is also present on
FreeBSD.

On FreeBSD, we can simply set MaxAtomicInlineWidth unconditionally, as
FreeBSD/arm always provides these __sync_* intrinsics:

http://svnweb.freebsd.org/base/head/lib/libcompiler_rt/Makefile?view=markup#l160

The following patch adjusts the code to set MaxAtomicInlineWidth
properly on FreeBSD:

http://80386.nl/pub/clang-freebsd-atomics.txt

For readability sake, a diff that ignores whitespace:

http://80386.nl/pub/clang-freebsd-atomics-nowhitespace.txt

Thanks,
--
Ed Schouten <[email protected]>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to