Skip to content

Commit 09de372

Browse files
committed
Extend grammar to allow parameterized vendor extension types.
Allowing type parameters for vector extended types naturally allows mangling of complex vendor extended types, like Clang's matrix type or the various vector types. This is in line with the grammarm for vendor extended qualifiers. Fixes #100.
1 parent 94bfafa commit 09de372

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

abi.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4821,12 +4821,13 @@ <h5><a href="#mangling-builtin">5.1.5.2 Builtin types</a></h5>
48214821
::= Da # auto
48224822
::= Dc # decltype(auto)
48234823
::= Dn # std::nullptr_t (i.e., decltype(nullptr))
4824-
::= u &lt;<a href="#mangle.source-name">source-name</a>&gt; # vendor extended type
4824+
::= u &lt;<a href="#mangle.source-name">source-name</a>&gt; [&lt;<a href="#mangle.template-args">template-args</a>&gt;] # vendor extended type
48254825
</pre></font></code>
48264826

48274827
<p>
48284828
Vendors who define builtin extended types shall encode them
4829-
as a 'u' prefix followed by the name in &lt;length,ID> form.
4829+
as a 'u' prefix followed by the name in &lt;length,I&gt; form,
4830+
followed by any arguments to the extended type.
48304831

48314832
<a name="mangle.function-type">
48324833
<h5><a href="#mangle.function-type">5.1.5.3 Function types</a></h5>

0 commit comments

Comments
 (0)