[clang] e6629be - [AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ predefined macros

Hubert Tong via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 8 13:43:45 PDT 2021


On Tue, Jun 8, 2021 at 11:43 AM Joerg Sonnenberger via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> On Mon, Jun 07, 2021 at 07:04:36PM -0700, via cfe-commits wrote:
> >
> > Author: =Jake Egan
> > Date: 2021-06-07T22:04:18-04:00
> > New Revision: e6629be31e67190f0a524f009752d73410894560
> >
> > URL:
> https://github.com/llvm/llvm-project/commit/e6629be31e67190f0a524f009752d73410894560
> > DIFF:
> https://github.com/llvm/llvm-project/commit/e6629be31e67190f0a524f009752d73410894560.diff
> >
> > LOG: [AIX] Define __STDC_NO_ATOMICS__ and __STDC_NO_THREADS__ predefined
> macros
>
> I find the justification for this a bit strange. Neither one has to be
> implemented in libc. compiler-rt implements the former with the mixing
> caveats applied and there are portable implementations of the latter
> based on pthread. I would expect them to work well enough on AIX, too.
> So this seems to do more harm than good?
>

Thanks for the feedback. The compiler-rt pointer is a good hint. Note that
the status quo of compiler-rt is that the implementation you mention is
guarded under
if(APPLE)
in the CMake. Thus setting the macro reflects the status quo at this time.

For the latter, I think the vanilla LLVM source is meant to reflect what
could be considered a vanilla deployment. The portable implementations you
mention would be an extra component.


>
> Joerg
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210608/f1a96779/attachment.html>


More information about the cfe-commits mailing list