EricWF added a comment.

In https://reviews.llvm.org/D33538#765225, @rsmith wrote:

> In https://reviews.llvm.org/D33538#765146, @EricWF wrote:
>
> > In https://reviews.llvm.org/D33538#765045, @rsmith wrote:
> >
> > > Do we need to conditionalize this part of libc++? Nothing in the 
> > > <coroutines> header appears to need compiler support.
> >
> >
> > That's correct. I was mistaken as to why this was needed. I mistook a bug 
> > in libc++ for the reason this was needed. 
> >  So I have no need for this patch anymore.
> >
> > Do you still want to land this for the reasons you mentioned?
>
>
> r303936 will break the libc++ modules build if used with an older version of 
> clang that doesn't have the coroutines builtins. If you're OK with that, then 
> we don't need this. But if you intend to support older versions of Clang, 
> then I think you need either this or a different approach (such as splitting 
> out a separate top-level module for the coroutines header) to avoid that 
> problem.


I'll have to investigate this further. I had assumed the builtins were added at 
the same time as the `__cpp_coroutines` macro, but if that's not the case 
libc++ could still guard the header correctly using either `__has_builtin` or 
the newly updated value of `__cpp_coroutines`; but a complete library solution 
seems possible.

For other users of Clang module maps, though, I see the convince of being able 
to do this within the module map.


https://reviews.llvm.org/D33538



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to