-
-
Notifications
You must be signed in to change notification settings - Fork 411
Use __c_wchar_t.
#2349
Use __c_wchar_t.
#2349
Conversation
|
Thanks for your pull request and interest in making D better, @thewilsonator! We are looking forward to reviewing it, and you should be hearing from a maintainer soon.
Please see CONTRIBUTING.md for more information. If you have addressed all reviews or aren't sure how to proceed, don't hesitate to ping us with a simple comment. Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub fetch digger
dub run digger -- build "master + druntime#2349" |
|
Hmm I thought it was supposed to build with the latest dmd master, that hack was extended to |
These function signatures need to be updated to use |
|
Hmm, looks like CircleCI builds with 2.079.1, which obviously is not going to work as this requires DMD master. |
|
Looks like it grabs a dmd branch by the same name if it can. |
|
|
b3a639a to
4d06695
Compare
|
@ibuclaw should be ready to go. |
7168034 to
14c142f
Compare
14c142f to
6be5795
Compare
ibuclaw
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Windows bindings looks like horrible (even without this patch), ok.
|
The only thing I'm worried about is implicit conversions from |
We had this with c_long when it was a struct, too. I suspect this will cause a lot of breakage. I haven't tried but I'm not sure the windows definitions have to change to begin with, these are C APIs, not C++. |
6be5795 to
b852fec
Compare
|
Removed most of the windows diff, yeah pointer conversions don't work yet, need to fix that in DMD. |
|
this needs |
|
Here's the trouble: This is brought on by the following line in The interesting thing is that the Windows API functions do not use name mangling. So the name mangling isn't an issue. The problem is really in This should be future proof, as it will follow whatever Microsoft does with |
|
Now that #2389 has merged, this should be ready to rock. |
b852fec to
a63730d
Compare
A cast is needed to call |
|
That is exactly what dlang/dmd#8958 was supposed to fix. |
|
I mean, I can add it, but it doesn't fix the underlying issue and the same thing will affect users as well. |
|
An alternative is to change the declaration of Argh. There are no good solutions. |
|
https://docs.microsoft.com/en-us/windows/desktop/extensiblestorageengine/gg269344(v%3Dexchg.10) #if !defined(_NATIVE_WCHAR_T_DEFINED)
typedef unsigned short WCHAR;
#else
typedef wchar_t WCHAR;
#endif
We should probably do that anyway, but it won't fix the problem, only move it elsewhere. |
|
Putting in the cast to |
|
This suggests a solution for us.
|
|
See dlang/dmd#9029 for addition of switch. |
|
Closing as it hasn't seen any activity for a while and is outdated (also cleaning up branches in the repository). |
No description provided.