Skip to content
Snippets Groups Projects
Commit 2a54cbaf authored by Dmitry Polukhin's avatar Dmitry Polukhin
Browse files

NFC fix documentation build by rL263015

This time I hope it will fix the build for real.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@263052 91177308-0d34-0410-b5e6-96231b3b80d8
parent 32a22c2d
No related branches found
No related tags found
No related merge requests found
......@@ -33,15 +33,18 @@ the same <substitution> the <unqualified-name> is.
They are mangled as:
.. code-block:: none
<abi-tags> ::= <abi-tag>* # sort by name
<abi-tag> ::= B <tag source-name>
Example:
.. code-block:: c++
__attribute__((abi_tag("test")))
void Func();
gets mangled as: _Z4FuncB4testv (prettified as `Func[abi:test]()`)
// gets mangled as: _Z4FuncB4testv (prettified as `Func[abi:test]()`)
Active tags
===========
......@@ -52,6 +55,8 @@ enum), the explicit tags are the active tags.
For variables and functions, the active tags are the explicit tags plus any
"required tags" which are not in the "available tags" set:
.. code-block:: none
derived-tags := (required-tags - available-tags)
active-tags := explicit-tags + derived-tags
......@@ -68,15 +73,16 @@ Otherwise the function requires any implicit or explicit tag used in the name
for the return type.
Example:
.. code-block:: c++
namespace A {
inline namespace B __attribute__((abi_tag)) {
struct C { int x; };
}
}
A::C foo();
gets mangled as: _Z3fooB1Bv (prettified as `foo[abi:B]()`)
A::C foo(); // gets mangled as: _Z3fooB1Bv (prettified as `foo[abi:B]()`)
Required tags for a variable
============================
......@@ -99,4 +105,3 @@ in the type of a cast operator) are NOT available.
Example: a cast operator to std::string (which is
std::__cxx11::basic_string<...>) will use 'cxx11' as an active tag, as it is
required from the return type `std::string` but not available.
......@@ -76,6 +76,7 @@ Design Documents
DriverInternals
PTHInternals
PCHInternals
ItaniumMangleAbiTags
Indices and tables
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment