# ::= v # void # ::= w # wchar_t # ::= b # bool # ::= c # char # ::= a # signed char # ::= h # unsigned char # ::= s # short # ::= t # unsigned short # ::= i # int # ::= j # unsigned int # ::= l # long # ::= m # unsigned long # ::= x # long long, __int64 # ::= y # unsigned long long, __int64 # ::= n # __int128 # ::= o # unsigned __int128 # ::= f # float # ::= d # double # ::= e # long double, __float80 # ::= g # __float128 # ::= z # ellipsis # ::= Dd # IEEE 754r decimal floating point (64 bits) # ::= De # IEEE 754r decimal floating point (128 bits) # ::= Df # IEEE 754r decimal floating point (32 bits) # ::= Dh # IEEE 754r half-precision floating point (16 bits) # ::= Di # char32_t # ::= Ds # char16_t # ::= Da # auto # ::= Dc # decltype(auto) # ::= Dn # std::nullptr_t (i.e., decltype(nullptr)) # ::= u # vendor extended type "_Z3barv", "bar()" "_Z3barPv", "bar(void*)" "_Z3bariPv", "bar(int, void*)" "_Z3fooww", "foo(wchar_t, wchar_t)" "_Z3foob", "foo(bool)" "_Z3foocah", "foo(char, signed char, unsigned char)" "_Z3barstij", "bar(short, unsigned short, int, unsigned int)" "_Z3barlmxy", "bar(long, unsigned long, long long, unsigned long long)" "_Z3barno", "bar(__int128, unsigned __int128)" "_Z3foofdeg", "foo(float, double, long double, __float128)" "_Z3fooiPcz", "foo(int, char*, ...)" "_Z3fooDdDeDfDh", "foo(decimal64, decimal128, decimal32, half)" "_Z3barDiDs", "bar(char32_t, char16_t)" "_Z3barIiEDai", "auto bar(int)" "_Z3barIiEDci", "decltype(auto) bar(int)" "_Z3barIiEDni", "decltype(nullptr) bar(int)"