Commit 9147522
committed
[cxx-interop] Correctly generate the list of transitive dependencies for CxxStdlib overlay
This fixes a compiler error that occurred while building `CxxStdlib.swiftmodule` and other projects that use C++ interop: `error: cannot find type 'std' in scope`.
The compiler was creating two distinct `swift::ModuleDecl` instances for the CxxStdlib module while building the CxxStdlib overlay: one as a main module (the module that is currently being compiled), one as a dependency of the main module. This confused the Swift name lookup logic down the road.
This only happened with recent libc++.
See the inline comment for more details.
rdar://1228155231 parent d1961e1 commit 9147522
1 file changed
+15
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4232 | 4232 | | |
4233 | 4233 | | |
4234 | 4234 | | |
4235 | | - | |
4236 | | - | |
| 4235 | + | |
| 4236 | + | |
| 4237 | + | |
| 4238 | + | |
| 4239 | + | |
| 4240 | + | |
| 4241 | + | |
| 4242 | + | |
| 4243 | + | |
| 4244 | + | |
4237 | 4245 | | |
| 4246 | + | |
| 4247 | + | |
| 4248 | + | |
| 4249 | + | |
| 4250 | + | |
4238 | 4251 | | |
4239 | 4252 | | |
4240 | 4253 | | |
| |||
0 commit comments