On Wed May 15 15:19:50 2024 +0000, eric pouech wrote:
> to go one step further native also unmangles without whining something
> like `"?AU?$my_iter@H$0A@$$VJ@@"` into `struct my_iter<int,0,long>`
> (which doesn't make any sense in a C++ way either)
> so it looks like the $$V sequence is just a marker for the end of a
> variadic template, that is unmangled into nothing, and doesn't seem to
> have (at least the ucrtbase version I've used) other visible action
> so the attached patch should be enough
> [err](/uploads/977e89694bc0fcda26a3ba0f1ccb46b7/err)
This marker is specific to templates so it doesn't really belong to `demangle_datatype` function. The patch you have proposed e.g. incorrectly demangles `??__K_l@@YA?AUCC@@I$$VI@Z`.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5646#note_70553