diff options
author | dim <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2013-12-22 00:07:40 +0000 |
commit | 952eddef9aff85b1e92626e89baaf7a360e2ac85 (patch) | |
tree | df8df0b0067b381eab470a3b8f28d14a552a6340 /docs/InternalsManual.rst | |
parent | ea266cad53e3d49771fa38103913d3ec7a166694 (diff) | |
download | FreeBSD-src-952eddef9aff85b1e92626e89baaf7a360e2ac85.zip FreeBSD-src-952eddef9aff85b1e92626e89baaf7a360e2ac85.tar.gz |
Vendor import of clang release_34 branch r197841 (effectively, 3.4 RC3):
https://llvm.org/svn/llvm-project/cfe/branches/release_34@197841
Diffstat (limited to 'docs/InternalsManual.rst')
-rw-r--r-- | docs/InternalsManual.rst | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/docs/InternalsManual.rst b/docs/InternalsManual.rst index 59dd2f9..6f55702 100644 --- a/docs/InternalsManual.rst +++ b/docs/InternalsManual.rst @@ -950,17 +950,13 @@ 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`` 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`` @@ -999,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 |