Module: wine Branch: master Commit: 2464b47d7813c9ba7fb2efd88f172905b3579fb6 URL: https://gitlab.winehq.org/wine/wine/-/commit/2464b47d7813c9ba7fb2efd88f17290...
Author: Eric Pouech epouech@codeweavers.com Date: Mon Oct 30 18:38:07 2023 +0100
msvcrt: Demangle std::nullptr_t datatype.
Signed-off-by: Eric Pouech epouech@codeweavers.com
---
dlls/msvcrt/undname.c | 5 +++++ dlls/ucrtbase/tests/cpp.c | 3 +++ 2 files changed, 8 insertions(+)
diff --git a/dlls/msvcrt/undname.c b/dlls/msvcrt/undname.c index 6b255109e1f..55661f21e2b 100644 --- a/dlls/msvcrt/undname.c +++ b/dlls/msvcrt/undname.c @@ -1160,6 +1160,11 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct, sym->current++; if (!get_qualified_type(ct, sym, '$', flags)) goto done; } + else if (*sym->current == 'T') + { + sym->current++; + ct->left = str_printf(sym, "std::nullptr_t"); + } break; } break; diff --git a/dlls/ucrtbase/tests/cpp.c b/dlls/ucrtbase/tests/cpp.c index c20f889d686..7f63a1216a0 100644 --- a/dlls/ucrtbase/tests/cpp.c +++ b/dlls/ucrtbase/tests/cpp.c @@ -220,6 +220,9 @@ static void test___unDName(void) "struct my_iter<int,0>", NULL, UNDNAME_NO_ARGUMENTS}, +/* 8 */ {"??$foo@J_W$$T@bar@@YAJQB_W$$THQAUgod@@@Z", + "long __cdecl bar::foo<long,wchar_t,std::nullptr_t>(wchar_t const * const,std::nullptr_t,int,struct god * const)"}, + }; unsigned i; for (i = 0; i < ARRAY_SIZE(und_tests); i++)