Commit ae7114e
committed
fix: skip --sysroot entirely for macOS std module precompile
CI step 9 proves that clang++ WITHOUT explicit --sysroot precompiles
std.cppm correctly on macOS — the clang++.cfg's built-in --sysroot
and -isystem flags handle SDK header resolution properly.
When mcpp passes an explicit --sysroot (even the identical value),
it changes Clang's internal header search order, breaking the
transitive inclusion of _ctype.h before ___wctype.h. The macOS SDK's
___wctype.h references _CTYPE_A which is only defined via the
default cfg-driven include chain.
Fix: detect apple/darwin target and skip --sysroot for std module
precompile, letting clang++.cfg handle it. Non-macOS platforms
(Linux, Windows) continue to use the probed sysroot as before.1 parent 078873d commit ae7114e
1 file changed
Lines changed: 14 additions & 15 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
111 | 110 | | |
112 | 111 | | |
113 | 112 | | |
| |||
0 commit comments