]> granicus.if.org Git - clang/commitdiff
Document the presence of the new Objective-C++ mangling for qualified-id.
authorTed Kremenek <kremenek@apple.com>
Tue, 15 Oct 2013 04:28:42 +0000 (04:28 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 15 Oct 2013 04:28:42 +0000 (04:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192670 91177308-0d34-0410-b5e6-96231b3b80d8

docs/LanguageExtensions.rst

index 44916f7db79b37df3bfb193e82d3d61e56c55c14..87558f0ee2ad968de4acd4fece34c75562a94055 100644 (file)
@@ -1256,6 +1256,21 @@ Query for these features with ``__has_attribute(ns_consumed)``,
 ``__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
 =========================