[Issue 23935] ImportC for libuv

d-bugmail at puremagic.com d-bugmail at puremagic.com
Wed May 24 17:57:02 UTC 2023


https://issues.dlang.org/show_bug.cgi?id=23935

--- Comment #4 from a11e99z <black80 at bk.ru> ---
fixed manually. not checked yet with calling libuv from D, but dmd gives
uv9.obj.

MSVC command:
cl.exe -P -Fiuv.i -DUSING_UV_SHARED -DWIN32_LEAN_AND_MEAN -D__int64="long long"
-D__int32="long" -D__cdecl="" -D__inline="inline" -D__forceinline="inline"
-D__ptr64="" -D__ptr32="" -D__unaligned="" -D_CRT_SECURE_NO_WARNINGS /std:c11
uv.h

and fixing is:
1) changed
typedef struct __declspec(align(16)) __pragma(warning(push))
__pragma(warning(disable:4845)) __declspec(no_init_all) __pragma(warning(pop))
_CONTEXT { ... } CONTEXT, *PCONTEXT;

with issues:
uv9.i(4529): Error: missing tag `identifier` after `struct`                    
                                                                               
                                                                     
uv9.i(4529): Error: identifier or `(` expected                                 
                                                                               
                                                                     
uv9.i(4598): Error: no type for declarator before `}`                          
                                                                               
                                                                     
uv9.i(4598): Error: no type-specifier for declarator

to:
typedef struct /*__declspec(align(16)) __pragma(warning(push))
__pragma(warning(disable:4845)) __declspec(no_init_all)
__pragma(warning(pop))*/ _CONTEXT { ... } CONTEXT __attribute__((aligned(
16))), *PCONTEXT;

2) removed '\' (no-line-break here)

with issues:
uv9.i(19384): Error: character '\' is not a valid token                        
                                                                               
                                                                     
uv9.i(19385): Error: character '\' is not a valid token

(2) should be fixed 100%
(1) hmm, struct attrs should be reordered?

--


More information about the Digitalmars-d-bugs mailing list