r192670 - Document the presence of the new Objective-C++ mangling for qualified-id.

Ted Kremenek kremenek at apple.com
Mon Oct 14 21:28:42 PDT 2013


Author: kremenek
Date: Mon Oct 14 23:28:42 2013
New Revision: 192670

URL: http://llvm.org/viewvc/llvm-project?rev=192670&view=rev
Log:
Document the presence of the new Objective-C++ mangling for qualified-id.

Modified:
    cfe/trunk/docs/LanguageExtensions.rst

Modified: cfe/trunk/docs/LanguageExtensions.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/LanguageExtensions.rst?rev=192670&r1=192669&r2=192670&view=diff
==============================================================================
--- cfe/trunk/docs/LanguageExtensions.rst (original)
+++ cfe/trunk/docs/LanguageExtensions.rst Mon Oct 14 23:28:42 2013
@@ -1256,6 +1256,21 @@ Query for these features with ``__has_at
 ``__has_attribute(ns_returns_retained)``, etc.
 
 
+Objective-C++ ABI: protocol-qualifier mangling of parameters
+------------------------------------------------------------
+
+Starting with LLVM 3.4, Clang produces a new mangling for parameters whose
+type is a qualified-``id`` (e.g., ``id<Foo>``).  This mangling allows such
+parameters to be differentiated from those with the regular unqualified ``id``
+type.
+
+This was a non-backward compatible mangling change to the ABI.  This change
+allows proper overloading, and also prevents mangling conflicts with template
+parameters of protocol-qualified type.
+
+Query the presence of this new mangling with
+``__has_feature(objc_protocol_qualifier_mangling)``.
+
 Function Overloading in C
 =========================
 





More information about the cfe-commits mailing list