r192643 - Add has_feature support for reflecting the presence of refined Objective-C ABI mangling for qualified id<...>. Fixes <rdar://problem/14799110>.

Ted Kremenek kremenek at apple.com
Mon Oct 14 21:24:44 PDT 2013


Sure.  This is to highlight a change introduced a few months ago:

Author: efriedma
Date:   Tue Jun 18 22:41:37 2013 +0000

    Introduce a new mangling for protocol-qualified ObjC types in C++.  This allows
    to provide proper overloading, and also prevents mangling conflicts with
    template arguments of protocol-qualified type.

    This is a non-backward-compatible mangling change, but per discussion with
    John, the benefits outweigh this cost.

    https://llvm.org/svn/llvm-project/cfe/trunk@184250

I’ll mention it on the language extensions.

On Oct 14, 2013, at 8:57 PM, Nico Weber <thakis at chromium.org> wrote:

> Should this be documented in http://clang.llvm.org/docs/LanguageExtensions.html#objective-c-features ?
> 
> 
> On Mon, Oct 14, 2013 at 4:48 PM, Ted Kremenek <kremenek at apple.com> wrote:
> Author: kremenek
> Date: Mon Oct 14 18:48:27 2013
> New Revision: 192643
> 
> URL: http://llvm.org/viewvc/llvm-project?rev=192643&view=rev
> Log:
> Add has_feature support for reflecting the presence of refined Objective-C ABI mangling for qualified id<...>.  Fixes <rdar://problem/14799110>.
> 
> Modified:
>     cfe/trunk/lib/Lex/PPMacroExpansion.cpp
> 
> Modified: cfe/trunk/lib/Lex/PPMacroExpansion.cpp
> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Lex/PPMacroExpansion.cpp?rev=192643&r1=192642&r2=192643&view=diff
> ==============================================================================
> --- cfe/trunk/lib/Lex/PPMacroExpansion.cpp (original)
> +++ cfe/trunk/lib/Lex/PPMacroExpansion.cpp Mon Oct 14 18:48:27 2013
> @@ -897,6 +897,7 @@ static bool HasFeature(const Preprocesso
>             .Case("objc_modules", LangOpts.ObjC2 && LangOpts.Modules)
>             .Case("objc_nonfragile_abi", LangOpts.ObjCRuntime.isNonFragile())
>             .Case("objc_property_explicit_atomic", true) // Does clang support explicit "atomic" keyword?
> +           .Case("objc_protocol_qualifier_mangling", true)
>             .Case("objc_weak_class", LangOpts.ObjCRuntime.hasWeakClassImport())
>             .Case("ownership_holds", true)
>             .Case("ownership_returns", true)
> 
> 
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20131014/e891bb3d/attachment.html>


More information about the cfe-commits mailing list