From 67ffcaafa83abe572804539424693e8c6719b928 Mon Sep 17 00:00:00 2001
From: Ted Kremenek <kremenek@apple.com>
Date: Tue, 15 Oct 2013 04:28:42 +0000
Subject: [PATCH] Document the presence of the new Objective-C++ mangling for
 qualified-id.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192670 91177308-0d34-0410-b5e6-96231b3b80d8
---
 docs/LanguageExtensions.rst | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/docs/LanguageExtensions.rst b/docs/LanguageExtensions.rst
index 44916f7db79..87558f0ee2a 100644
--- a/docs/LanguageExtensions.rst
+++ b/docs/LanguageExtensions.rst
@@ -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
 =========================
 
-- 
GitLab