Sean Silva <[email protected]> writes:
> One patch per bullet point in the original patch's commit message seems to be
> the most logical thing to me.

Changing the number of declarations from 8 to 10 separately from
documenting the two new ones seems odd. Here are the patches I'm
planning to commit.

>From c0dd1ef45bdba7deb03b1ed7bf6a04d29d2e0089 Mon Sep 17 00:00:00 2001
From: Justin Bogner <[email protected]>
Date: Thu, 26 Sep 2013 21:31:19 -0700
Subject: [PATCH 1/2] docs: Remove note about Identifiers being used for C++
 operators

C++ operators are represented by CXXOperatorName now, which is already
documented.
---
 docs/InternalsManual.rst | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/docs/InternalsManual.rst b/docs/InternalsManual.rst
index 59dd2f9..2e130c3 100644
--- a/docs/InternalsManual.rst
+++ b/docs/InternalsManual.rst
@@ -957,10 +957,6 @@ names are inside the ``DeclarationName`` class).
 
   The name is a simple identifier.  Use ``N.getAsIdentifierInfo()`` to retrieve
   the corresponding ``IdentifierInfo*`` pointing to the actual identifier.
-  Note that C++ overloaded operators (e.g., "``operator+``") are represented as
-  special kinds of identifiers.  Use ``IdentifierInfo``'s
-  ``getOverloadedOperatorID`` function to determine whether an identifier is an
-  overloaded operator name.
 
 ``ObjCZeroArgSelector``, ``ObjCOneArgSelector``, ``ObjCMultiArgSelector``
 
-- 
1.8.3.4 (Apple Git-47)

>From da31cec1f54e676ebfad1cd11c5b4ac59cddce88 Mon Sep 17 00:00:00 2001
From: Justin Bogner <[email protected]>
Date: Thu, 26 Sep 2013 21:35:28 -0700
Subject: [PATCH 2/2] docs: Document CXXLiteralOperatorName and
 CXXUsingDirective

---
 docs/InternalsManual.rst | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/docs/InternalsManual.rst b/docs/InternalsManual.rst
index 2e130c3..6f55702 100644
--- a/docs/InternalsManual.rst
+++ b/docs/InternalsManual.rst
@@ -950,8 +950,8 @@ functions, Objective-C methods, C++ constructors, destructors, and operators
 ``DeclarationName`` is designed to efficiently represent any kind of name.
 
 Given a ``DeclarationName`` ``N``, ``N.getNameKind()`` will produce a value
-that describes what kind of name ``N`` stores.  There are 8 options (all of the
-names are inside the ``DeclarationName`` class).
+that describes what kind of name ``N`` stores.  There are 10 options (all of
+the names are inside the ``DeclarationName`` class).
 
 ``Identifier``
 
@@ -995,6 +995,21 @@ names are inside the ``DeclarationName`` class).
   Use ``N.getCXXOverloadedOperator()`` to retrieve the overloaded operator (a
   value of type ``OverloadedOperatorKind``).
 
+``CXXLiteralOperatorName``
+
+  The name is a C++11 user defined literal operator.  User defined
+  Literal operators are named according to the suffix they define,
+  e.g., "``_foo``" for "``operator "" _foo``".  Use
+  ``N.getCXXLiteralIdentifier()`` to retrieve the corresponding
+  ``IdentifierInfo*`` pointing to the identifier.
+
+``CXXUsingDirective``
+
+  The name is a C++ using directive.  Using directives are not really
+  NamedDecls, in that they all have the same name, but they are
+  implemented as such in order to store them in DeclContext
+  effectively.
+
 ``DeclarationName``\ s are cheap to create, copy, and compare.  They require
 only a single pointer's worth of storage in the common cases (identifiers,
 zero- and one-argument Objective-C selectors) and use dense, uniqued storage
-- 
1.8.3.4 (Apple Git-47)

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to