Add two Bionic declarations#1972
Conversation
|
Thanks for your pull request, @joakim-noah! 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. |
| } | ||
| else version (CRuntime_Bionic) | ||
| { | ||
| void __assert(const(char)* __file, int __line, const(char)* __msg); |
There was a problem hiding this comment.
@kinke, need this for the final 1.6 release to build for Android, don't know if ldc itself needs to be patched in any way to call this __assert with the right arguments for betterC.
There was a problem hiding this comment.
It does need to be patched as it currently assumes the Glibc signature on Linux. Can't believe they opted for shuffling around the args.
| } | ||
| } | ||
| else version (linux) | ||
| else version (CRuntime_Bionic) |
There was a problem hiding this comment.
linux refers to kernel APIs, but I don't see errno declarations in anywhere other than libc headers.
| alias errno = __error; | ||
| } | ||
| } | ||
| else version (OSX) |
There was a problem hiding this comment.
The Darwin block right before means this block will never be called.
| } | ||
| } | ||
| else | ||
| { |
There was a problem hiding this comment.
One thing I noticed is if I tried to go back to this old default block by making sure none of the above versions hit, I got an error in core.memory here about "errno is not an lvalue", so it appears #1917 can't be used with this default block anymore.
PetarKirov
left a comment
There was a problem hiding this comment.
LGTM and thanks for upstreaming, guys!
These were needed to get ldc 1.6 and 1.7 to compile. All stdlib tests pass with this pull, same for the dmd-testsuite with 1.7 on Android/ARM.