Hi,

On Sat, Sep 7, 2013 at 2:08 AM, Weiming Zhao <[email protected]>wrote:

> Hi Eli,****
>
> ** **
>
> I didn’t find much info about atomics for targets. I find two attributes
> are relevant: MaxAtomicPromoteWidth and  MaxAtomicInlineWidth, but they
> cannot be used to compute the macros.****
>
> Besides, even for the same target, the macros are dependent on CPU types.
> For example, for X86 target:****
>
>   if (CPU >= CK_i486) {****
>
>     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1");****
>
>     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2");****
>
>     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4");****
>
>   }****
>
>   if (CPU >= CK_i586)****
>
>     Builder.defineMacro("__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8");****
>
> }****
>
>
> How about adding these macros for only ARMv7 and up? Without this patch
std::thread just fails on ARM so it would be rather nice to have this fixed
in clang 3.4 release.

Regards.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to