[libcxx] r299236 - Use strong enums independently of -fobjc-arc

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 31 13:37:13 PDT 2017


This will be ABI breaking for Objective-C++ users. I'm not objecting to
fixing the bogus configuration, but I just wanted to point it out.

/Eric

On Fri, Mar 31, 2017 at 11:39 AM, Duncan P. N. Exon Smith via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: dexonsmith
> Date: Fri Mar 31 12:39:56 2017
> New Revision: 299236
>
> URL: http://llvm.org/viewvc/llvm-project?rev=299236&view=rev
> Log:
> Use strong enums independently of -fobjc-arc
>
> r145698 introduced _LIBCPP_HAS_NO_STRONG_ENUMS by copy-pasting the
> __has_feature check from objc_arc_weak/_LIBCPP_HAS_OBJC_ARC_WEAK, and
> accidentally started defining _LIBCPP_HAS_NO_STRONG_ENUMS whenever
> __has_feature(objc_arc_weak).  This is totally bogus, and means that
> Libc++ thinks Objective-C++ compilations with -fobjc-arc don't have
> strong enums.
>
> Delete the accidental line.
>
> I thought about adding a test, but it would be entirely duplicative of
> the patch (if has-feature strong enums, check that has-no-strong-enums
> is not defined).
>
> Modified:
>     libcxx/trunk/include/__config
>
> Modified: libcxx/trunk/include/__config
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/_
> _config?rev=299236&r1=299235&r2=299236&view=diff
> ============================================================
> ==================
> --- libcxx/trunk/include/__config (original)
> +++ libcxx/trunk/include/__config Fri Mar 31 12:39:56 2017
> @@ -348,7 +348,6 @@ typedef __char32_t char32_t;
>
>  #if __has_feature(objc_arc_weak)
>  #define _LIBCPP_HAS_OBJC_ARC_WEAK
> -#define _LIBCPP_HAS_NO_STRONG_ENUMS
>  #endif
>
>  #if !(__has_feature(cxx_constexpr))
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://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/20170331/5a73a4de/attachment-0001.html>


More information about the cfe-commits mailing list