Skip to content
This repository was archived by the owner on Oct 12, 2022. It is now read-only.

Commit 9d0c836

Browse files
ibuclawdlang-bot
authored andcommitted
[dmd-cxx] Synchronize bindings with upstream druntime master
1 parent e09fb57 commit 9d0c836

File tree

22 files changed

+1646
-151
lines changed

22 files changed

+1646
-151
lines changed

mak/COPY

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ COPY=\
1717
\
1818
$(IMPDIR)\core\internal\abort.d \
1919
$(IMPDIR)\core\internal\arrayop.d \
20+
$(IMPDIR)\core\internal\attributes.d \
2021
$(IMPDIR)\core\internal\convert.d \
2122
$(IMPDIR)\core\internal\hash.d \
2223
$(IMPDIR)\core\internal\spinlock.d \
@@ -54,6 +55,7 @@ COPY=\
5455
\
5556
$(IMPDIR)\core\sys\bionic\err.d \
5657
$(IMPDIR)\core\sys\bionic\fcntl.d \
58+
$(IMPDIR)\core\sys\bionic\stdlib.d \
5759
$(IMPDIR)\core\sys\bionic\string.d \
5860
$(IMPDIR)\core\sys\bionic\unistd.d \
5961
\
@@ -62,6 +64,7 @@ COPY=\
6264
$(IMPDIR)\core\sys\darwin\err.d \
6365
$(IMPDIR)\core\sys\darwin\execinfo.d \
6466
$(IMPDIR)\core\sys\darwin\pthread.d \
67+
$(IMPDIR)\core\sys\darwin\stdlib.d \
6568
$(IMPDIR)\core\sys\darwin\string.d \
6669
\
6770
$(IMPDIR)\core\sys\darwin\mach\dyld.d \
@@ -79,6 +82,7 @@ COPY=\
7982
$(IMPDIR)\core\sys\darwin\sys\cdefs.d \
8083
$(IMPDIR)\core\sys\darwin\sys\event.d \
8184
$(IMPDIR)\core\sys\darwin\sys\mman.d \
85+
$(IMPDIR)\core\sys\darwin\sys\sysctl.d \
8286
\
8387
$(IMPDIR)\core\sys\freebsd\config.d \
8488
$(IMPDIR)\core\sys\freebsd\dlfcn.d \
@@ -88,6 +92,7 @@ COPY=\
8892
$(IMPDIR)\core\sys\freebsd\netinet\in_.d \
8993
\
9094
$(IMPDIR)\core\sys\freebsd\pthread_np.d \
95+
$(IMPDIR)\core\sys\freebsd\stdlib.d \
9196
$(IMPDIR)\core\sys\freebsd\string.d \
9297
$(IMPDIR)\core\sys\freebsd\time.d \
9398
$(IMPDIR)\core\sys\freebsd\unistd.d \
@@ -103,6 +108,7 @@ COPY=\
103108
$(IMPDIR)\core\sys\freebsd\sys\link_elf.d \
104109
$(IMPDIR)\core\sys\freebsd\sys\mman.d \
105110
$(IMPDIR)\core\sys\freebsd\sys\mount.d \
111+
$(IMPDIR)\core\sys\freebsd\sys\sysctl.d \
106112
\
107113
$(IMPDIR)\core\sys\dragonflybsd\dlfcn.d \
108114
$(IMPDIR)\core\sys\dragonflybsd\err.d \
@@ -111,6 +117,7 @@ COPY=\
111117
$(IMPDIR)\core\sys\dragonflybsd\netinet\in_.d \
112118
\
113119
$(IMPDIR)\core\sys\dragonflybsd\pthread_np.d \
120+
$(IMPDIR)\core\sys\dragonflybsd\stdlib.d \
114121
$(IMPDIR)\core\sys\dragonflybsd\string.d \
115122
$(IMPDIR)\core\sys\dragonflybsd\time.d \
116123
\
@@ -125,6 +132,7 @@ COPY=\
125132
$(IMPDIR)\core\sys\dragonflybsd\sys\link_elf.d \
126133
$(IMPDIR)\core\sys\dragonflybsd\sys\mman.d \
127134
$(IMPDIR)\core\sys\dragonflybsd\sys\socket.d \
135+
$(IMPDIR)\core\sys\dragonflybsd\sys\sysctl.d \
128136
\
129137
$(IMPDIR)\core\sys\linux\config.d \
130138
$(IMPDIR)\core\sys\linux\dlfcn.d \
@@ -163,6 +171,7 @@ COPY=\
163171
$(IMPDIR)\core\sys\netbsd\dlfcn.d \
164172
$(IMPDIR)\core\sys\netbsd\err.d \
165173
$(IMPDIR)\core\sys\netbsd\execinfo.d \
174+
$(IMPDIR)\core\sys\netbsd\stdlib.d \
166175
$(IMPDIR)\core\sys\netbsd\string.d \
167176
$(IMPDIR)\core\sys\netbsd\time.d \
168177
\
@@ -174,9 +183,11 @@ COPY=\
174183
$(IMPDIR)\core\sys\netbsd\sys\featuretest.d \
175184
$(IMPDIR)\core\sys\netbsd\sys\link_elf.d \
176185
$(IMPDIR)\core\sys\netbsd\sys\mman.d \
186+
$(IMPDIR)\core\sys\netbsd\sys\sysctl.d \
177187
\
178188
$(IMPDIR)\core\sys\openbsd\dlfcn.d \
179189
$(IMPDIR)\core\sys\openbsd\err.d \
190+
$(IMPDIR)\core\sys\openbsd\stdlib.d \
180191
$(IMPDIR)\core\sys\openbsd\string.d \
181192
$(IMPDIR)\core\sys\openbsd\time.d \
182193
\
@@ -187,6 +198,7 @@ COPY=\
187198
$(IMPDIR)\core\sys\openbsd\sys\elf_common.d \
188199
$(IMPDIR)\core\sys\openbsd\sys\link_elf.d \
189200
$(IMPDIR)\core\sys\openbsd\sys\mman.d \
201+
$(IMPDIR)\core\sys\openbsd\sys\sysctl.d \
190202
\
191203
$(IMPDIR)\core\sys\posix\arpa\inet.d \
192204
$(IMPDIR)\core\sys\posix\aio.d \
@@ -253,6 +265,7 @@ COPY=\
253265
$(IMPDIR)\core\sys\solaris\execinfo.d \
254266
$(IMPDIR)\core\sys\solaris\libelf.d \
255267
$(IMPDIR)\core\sys\solaris\link.d \
268+
$(IMPDIR)\core\sys\solaris\stdlib.d \
256269
$(IMPDIR)\core\sys\solaris\time.d \
257270
\
258271
$(IMPDIR)\core\sys\solaris\sys\elf.d \

mak/SRCS

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ SRCS=\
1717
\
1818
src\core\internal\abort.d \
1919
src\core\internal\arrayop.d \
20+
src\core\internal\attributes.d \
2021
src\core\internal\convert.d \
2122
src\core\internal\hash.d \
2223
src\core\internal\spinlock.d \
@@ -59,6 +60,7 @@ SRCS=\
5960
\
6061
src\core\sys\bionic\err.d \
6162
src\core\sys\bionic\fcntl.d \
63+
src\core\sys\bionic\stdlib.d \
6264
src\core\sys\bionic\string.d \
6365
src\core\sys\bionic\unistd.d \
6466
\
@@ -67,6 +69,7 @@ SRCS=\
6769
src\core\sys\darwin\err.d \
6870
src\core\sys\darwin\execinfo.d \
6971
src\core\sys\darwin\pthread.d \
72+
src\core\sys\darwin\stdlib.d \
7073
src\core\sys\darwin\string.d \
7174
src\core\sys\darwin\mach\dyld.d \
7275
src\core\sys\darwin\mach\getsect.d \
@@ -82,12 +85,14 @@ SRCS=\
8285
src\core\sys\darwin\sys\cdefs.d \
8386
src\core\sys\darwin\sys\event.d \
8487
src\core\sys\darwin\sys\mman.d \
88+
src\core\sys\darwin\sys\sysctl.d \
8589
\
8690
src\core\sys\freebsd\dlfcn.d \
8791
src\core\sys\freebsd\err.d \
8892
src\core\sys\freebsd\execinfo.d \
8993
src\core\sys\freebsd\netinet\in_.d \
9094
src\core\sys\freebsd\pthread_np.d \
95+
src\core\sys\freebsd\stdlib.d \
9196
src\core\sys\freebsd\string.d \
9297
src\core\sys\freebsd\time.d \
9398
src\core\sys\freebsd\unistd.d \
@@ -103,12 +108,14 @@ SRCS=\
103108
src\core\sys\freebsd\sys\link_elf.d \
104109
src\core\sys\freebsd\sys\mman.d \
105110
src\core\sys\freebsd\sys\mount.d \
111+
src\core\sys\freebsd\sys\sysctl.d \
106112
\
107113
src\core\sys\dragonflybsd\dlfcn.d \
108114
src\core\sys\dragonflybsd\err.d \
109115
src\core\sys\dragonflybsd\execinfo.d \
110116
src\core\sys\dragonflybsd\netinet\in_.d \
111117
src\core\sys\dragonflybsd\pthread_np.d \
118+
src\core\sys\dragonflybsd\stdlib.d \
112119
src\core\sys\dragonflybsd\string.d \
113120
src\core\sys\dragonflybsd\time.d \
114121
\
@@ -123,6 +130,7 @@ SRCS=\
123130
src\core\sys\dragonflybsd\sys\link_elf.d \
124131
src\core\sys\dragonflybsd\sys\mman.d \
125132
src\core\sys\dragonflybsd\sys\socket.d \
133+
src\core\sys\dragonflybsd\sys\sysctl.d \
126134
\
127135
src\core\sys\linux\config.d \
128136
src\core\sys\linux\dlfcn.d \
@@ -161,6 +169,7 @@ SRCS=\
161169
src\core\sys\netbsd\dlfcn.d \
162170
src\core\sys\netbsd\err.d \
163171
src\core\sys\netbsd\execinfo.d \
172+
src\core\sys\netbsd\stdlib.d \
164173
src\core\sys\netbsd\string.d \
165174
src\core\sys\netbsd\time.d \
166175
\
@@ -172,9 +181,11 @@ SRCS=\
172181
src\core\sys\netbsd\sys\featuretest.d \
173182
src\core\sys\netbsd\sys\link_elf.d \
174183
src\core\sys\netbsd\sys\mman.d \
184+
src\core\sys\netbsd\sys\sysctl.d \
175185
\
176186
src\core\sys\openbsd\dlfcn.d \
177187
src\core\sys\openbsd\err.d \
188+
src\core\sys\openbsd\stdlib.d \
178189
src\core\sys\openbsd\string.d \
179190
src\core\sys\openbsd\time.d \
180191
\
@@ -185,6 +196,7 @@ SRCS=\
185196
src\core\sys\openbsd\sys\elf_common.d \
186197
src\core\sys\openbsd\sys\link_elf.d \
187198
src\core\sys\openbsd\sys\mman.d \
199+
src\core\sys\openbsd\sys\sysctl.d \
188200
\
189201
src\core\sys\posix\arpa\inet.d \
190202
src\core\sys\posix\aio.d \
@@ -251,6 +263,7 @@ SRCS=\
251263
src\core\sys\solaris\execinfo.d \
252264
src\core\sys\solaris\libelf.d \
253265
src\core\sys\solaris\link.d \
266+
src\core\sys\solaris\stdlib.d \
254267
src\core\sys\solaris\time.d \
255268
src\core\sys\solaris\sys\elf.d \
256269
src\core\sys\solaris\sys\elf_386.d \

src/core/internal/attributes.d

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module core.internal.attributes;
2+
3+
/**
4+
Used to annotate `unittest`s which need to be tested in a `-betterC` environment.
5+
6+
Such `unittest`s will be compiled and executed without linking druntime in, with
7+
a `__traits(getUnitTests, mixin(__MODULE__))` style test runner.
8+
Note that just like any other `unittest` in druntime, they will also be compiled
9+
and executed without `-betterC`.
10+
*/
11+
package(core) enum betterC = 1;

src/core/stdc/stdio.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1527,7 +1527,7 @@ else version (OpenBSD)
15271527
{
15281528
void __sclearerr()(FILE* p)
15291529
{
1530-
p._flags &= ~(__SERR|__SEOF);
1530+
p._flags = p._flags & ~(__SERR|__SEOF);
15311531
}
15321532

15331533
int __sfeof()(FILE* p)

src/core/sys/bionic/stdlib.d

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
/**
2+
* D header file for Bionic stdlib.h.
3+
*
4+
* Copyright: Copyright © 2021, The D Language Foundation
5+
* License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
6+
* Authors: Iain Buclaw
7+
*/
8+
module core.sys.bionic.stdlib;
9+
public import core.sys.posix.stdlib;
10+
11+
version (CRuntime_Bionic):
12+
extern (C):
13+
nothrow:
14+
@nogc:
15+
16+
const(char)* getprogname();
17+
void setprogname(scope const char* name);

src/core/sys/darwin/mach/dyld.d

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ uint _dyld_image_count();
3333
const(char)* _dyld_get_image_name(uint image_index);
3434
mach_header* _dyld_get_image_header(uint image_index);
3535
intptr_t _dyld_get_image_vmaddr_slide(uint image_index);
36+
3637
void _dyld_register_func_for_add_image(void function(const scope mach_header* mh, intptr_t vmaddr_slide));
3738
void _dyld_register_func_for_remove_image(void function(const scope mach_header* mh, intptr_t vmaddr_slide));
3839

39-
40+
int NSVersionOfRunTimeLibrary(const char* libraryPath);
41+
int NSVersionOfLinkTimeLibrary(const char* libraryPath);
42+
int _NSGetExecutablePath(char* buf, uint* bufsize);

src/core/sys/darwin/stdlib.d

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* D header file for Darwin stdlib.h.
3+
*
4+
* Copyright: Copyright © 2021, The D Language Foundation
5+
* License: <a href="http://www.boost.org/LICENSE_1_0.txt">Boost License 1.0</a>.
6+
* Authors: Iain Buclaw
7+
*/
8+
module core.sys.darwin.stdlib;
9+
public import core.sys.posix.stdlib;
10+
11+
version (OSX)
12+
version = Darwin;
13+
else version (iOS)
14+
version = Darwin;
15+
else version (TVOS)
16+
version = Darwin;
17+
else version (WatchOS)
18+
version = Darwin;
19+
20+
version (Darwin):
21+
extern (C):
22+
nothrow:
23+
@nogc:
24+
25+
const(char)* getprogname();
26+
void setprogname(scope const char* name);

0 commit comments

Comments
 (0)