Bug 15539 – core.sys.windows.* tweaks for 2.070

Status
RESOLVED
Resolution
FIXED
Severity
blocker
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86_64
OS
Windows
Creation time
2016-01-10T02:13:46Z
Last change time
2022-12-30T23:50:57Z
Keywords
pull
Assigned to
No Owner
Creator
Vladimir Panteleev

Comments

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
Comment #6 by ibuclaw — 2022-12-30T23:50:57Z