Skip to content

Commit 5e3bd9f

Browse files
authored
Merge pull request #79751 from Steelskin/fabrice/update-ucrt-modulemap
Update ucrt.modulemap for Windows SDK 10.0.26100
1 parent 9a8f827 commit 5e3bd9f

File tree

1 file changed

+43
-28
lines changed

1 file changed

+43
-28
lines changed

stdlib/public/Platform/ucrt.modulemap

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,55 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
module _complex [system] {
13+
// The following modules have to be standalone top-level modules to deal with
14+
// version 10.0.26100 of the Windows SDK.
15+
module _malloc [system] [no_undeclared_includes] {
16+
use corecrt
17+
header "malloc.h"
18+
export *
19+
}
20+
21+
module _complex [system] [no_undeclared_includes] {
22+
use corecrt
23+
use std
1424
header "complex.h"
1525
export *
1626
}
1727

28+
module _fenv [system] [no_undeclared_includes] {
29+
use corecrt
30+
use _float
31+
header "fenv.h"
32+
export *
33+
}
34+
35+
module _float [system] [no_undeclared_includes] {
36+
use corecrt
37+
header "float.h"
38+
export *
39+
}
40+
41+
module _stddef [system] [no_undeclared_includes] {
42+
header "stddef.h"
43+
export *
44+
}
45+
46+
module _stdlib [system] [no_undeclared_includes] {
47+
use corecrt
48+
header "stdlib.h"
49+
export *
50+
}
51+
1852
module ucrt [system] {
53+
export _malloc
54+
1955
module C {
56+
export _complex
57+
export _fenv
58+
export _float
59+
export _stddef
60+
export _stdlib
61+
2062
module ctype {
2163
header "ctype.h"
2264
export *
@@ -27,16 +69,6 @@ module ucrt [system] {
2769
export *
2870
}
2971

30-
module fenv {
31-
header "fenv.h"
32-
export *
33-
}
34-
35-
module float {
36-
header "float.h"
37-
export *
38-
}
39-
4072
module inttypes {
4173
header "inttypes.h"
4274
export *
@@ -57,21 +89,9 @@ module ucrt [system] {
5789
export *
5890
}
5991

60-
module stddef {
61-
header "stddef.h"
62-
export *
63-
}
64-
6592
module stdio {
6693
header "stdio.h"
6794
export *
68-
69-
// NOTE(compnerd) this is a horrible workaround for the fact that
70-
// Microsoft has fully inlined nearly all of the printf family of
71-
// functions in the headers which results in the definitions being elided
72-
// resulting in undefined symbols. The legacy_stdio_definitions provides
73-
// out-of-line definitions for these functions.
74-
link "legacy_stdio_definitions"
7595
}
7696

7797
module stdlib {
@@ -132,11 +152,6 @@ module ucrt [system] {
132152
export *
133153
}
134154

135-
module malloc {
136-
header "malloc.h"
137-
export *
138-
}
139-
140155
module minmax {
141156
header "minmax.h"
142157
export *

0 commit comments

Comments
 (0)