Comment #0 by dlang-bugzilla — 2016-01-10T02:13:46Z
The new core.sys.windows.* package needs some tweaks before it is released in 2.070:
- version(Unicode) code should be enabled by default. The ANSI aliases can be either moved to version(ANSI) or deleted entirely.
- remove uses of "ref" or "out" to match C declarations
- typeof(NULL) should be typeof(null)
- review typeof(MAX_PATH) and other constants
These changes must happen before 2.070 as otherwise they would become breaking changes.
Additionally, we should add pragma(lib, "foo") in the respective modules.
Comment #1 by jiki — 2016-01-10T06:23:25Z
Unfortunately I doubt that it can be included in 2.070 release.
At least, it is mandatory to fix the following problems,
otherwise they would yield critical RUNTIME errors.
- extern (Windows) missed : wrong calling convention
For instance: the aliases of callback functions in commctrl.d and wingdi.d.
- API update for x64: mostly modifications for the pointer size change
For instance: https://github.com/Rayerd/dfl/pull/50/commits
I tried to fix the former and gave up after a number of errors come.
I have no idea to go over...
Comment #2 by dlang-bugzilla — 2016-01-10T06:48:17Z
(In reply to jiki from comment #1)
> Unfortunately I doubt that it can be included in 2.070 release.
Hi, sorry perhaps I should've clarified. (This is known to the relevant people but since this is a public post...) I was the one who did the core.sys.windows.* migration, and the above is a list of things I plan to fix myself. I've posted to let people know in advance that I plan to do it - I'm abroad at the moment, but will get to this next week.
> At least, it is mandatory to fix the following problems,
> otherwise they would yield critical RUNTIME errors.
>
> - extern (Windows) missed : wrong calling convention
> For instance: the aliases of callback functions in commctrl.d and
> wingdi.d.
> - API update for x64: mostly modifications for the pointer size change
> For instance: https://github.com/Rayerd/dfl/pull/50/commits
>
> I tried to fix the former and gave up after a number of errors come.
> I have no idea to go over...
I agree that these are important problems, and I'll see if I can include them with my fixes, but they are actually less urgent than the ones above, because fixing them is not going to break any existing D code.
Comment #3 by dlang-bugzilla — 2016-01-13T12:17:39Z
(In reply to jiki from comment #1)
> - extern (Windows) missed : wrong calling convention
> For instance: the aliases of callback functions in commctrl.d and
> wingdi.d.
> - API update for x64: mostly modifications for the pointer size change
> For instance: https://github.com/Rayerd/dfl/pull/50/commits
Do you have a list of specific functions which need their signatures fixed?
Comment #4 by jiki — 2016-01-14T01:26:33Z
(In reply to Vladimir Panteleev from comment #3)
> (In reply to jiki from comment #1)
> Do you have a list of specific functions which need their signatures fixed?
No, sorry.
I failed because I've expected only a small number of errors,
and began with Windows SDK headers (:P)
instead of MinGW headers.
Comment #5 by dlang-bugzilla — 2016-01-18T17:17:58Z