You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
::= L <<i>nullptr</i><ahref="#mangle.type">type</a>> E # nullptr literal (i.e., "LDnE")
5247
5247
::= L <<i>pointer</i><ahref="#mangle.type">type</a>> 0 E # null pointer template argument
5248
5248
::= L <<ahref="#mangle.type">type</a>> <<i>real-part</i><ahref="#mangle.float">float</a>> _ <<i>imag-part</i><ahref="#mangle.float">float</a>> E # complex floating point literal (C 2000)
5249
+
::= L <<i>lambda</i><ahref="#mangle.closure-type-name">closure-type-name</a>> E # lambda expression
5249
5250
::= L _Z <<ahref="#mangle.encoding">encoding</a>> E # external name
<p>When a lambda expression appears in the type of a function template at namespace scope,
5270
+
that function template cannot be redeclared in other translation units,
5271
+
so this ABI does not constrain its mangling except that it cannot collide
5272
+
with symbols in other translation units.
5273
+
When a lambda expression appears in an instantiation-dependent expression
5274
+
in other contexts (for example, in the signature of a function template at class scope),
5275
+
it is mangled as a <<ahref="#mangle.closure-type-name">closure-type-name</a>>,
5276
+
excluding any name prefix, but including its number within its context.
5277
+
The context is implied by the remaining portion of the encoding.</p>
5278
+
5268
5279
<p><code>tl</code> is used for direct-list-initializations, where the type name is directly followed by a braced-init-list; e.g., <code>MyArray{1,2,3}</code> should be mangled <code>tl7MyArrayLi1ELi2ELi3EE</code>. If the braced-init-list is parenthesized, this is not a direct-list-initialization, and it should be mangled with <code>cv</code> and a nested <code>il</code>; for example, <code>MyArray({1,2,3})</code> should be mangled <code>cv7MyArrayilLi1ELi2ELi3EE</code>.</p>
5269
5280
5270
5281
<p>If an implementation supports the full C99 designated initializer syntax (as an extension), a designator list comprising multiple designators results in
0 commit comments