[PATCH v2] msvcp: Add a stub of _Concurrent_vector_base_v4.
Piotr Caban
piotr.caban at gmail.com
Tue May 8 06:43:13 CDT 2018
Hi Hua,
On 05/08/18 13:11, Hua Meng wrote:
> --- a/dlls/msvcp120_app/msvcp120_app.spec
> +++ b/dlls/msvcp120_app/msvcp120_app.spec
> +@ cdecl -arch=win64 ?_Internal_assign at _Concurrent_vector_base_v4@details at Concurrency@@IEAAXAEBV123 at _KP6AXPEAX1@ZP6AX2PEBX1 at Z5@Z(ptr ptr long ptr ptr ptr) msvcp120.
> +@ cdecl -arch=arm ?_Internal_capacity at _Concurrent_vector_base_v4@details at Concurrency@@IBAIXZ(ptr) msvcp120.?_Internal_assign at _Concurrent_vector_base_v4@details at Concurrency@@IEAAXAEBV123 at _KP6AXPEAX1@ZP6AX2PEBX1 at Z5@Z
The _Internal_assign and _Internal_capacity spec file entries got mixed.
You can use wine_src/tools/make_specfiles script to generate this file.
> +typedef struct
> +{
> + void *storage[3];
> + MSVCP_size_t first_block;
> + MSVCP_size_t early_size;
> + void **segment;
> +} _Concurrent_vector_base_v4;
This structure needs to have the allocator function pointer as first
argument. The structure should look like this:
typedef struct
{
void* (__cdecl *allocator)(_Concurrent_vector_base_v4*, MSVCP_size_t);
void *storage[3];
MSVCP_size_t first_block;
MSVCP_size_t early_size;
void** segment;
} _Concurrent_vector_base_v4;
> +void __thiscall _Concurrent_vector_base_v4__Internal_resize(
> + _Concurrent_vector_base_v4 *this, MSVCP_size_t len1, MSVCP_size_t len2,
> + MSVCP_size_t len3, void (__cdecl *clear)(void *, MSVCP_size_t),
> + void (__cdecl *copy)(void *, void const *, MSVCP_size_t), void const *v)
> +{
> + FIXME("%p %ld %ld %ld %p %p %p", this, len1, len2, len3, clear, copy, v);
> +}
Could you please change the fixme message to be consistent (add
parenthesis and stub)?
Thanks,
Piotr
More information about the wine-devel
mailing list