Files
swift-mirror/lib/DriverTool/modulewrap_main.cpp
Yuta Saito d3ae633857 modulewrap: Disable ObjC interop by default on non-Darwin platforms
0a5653dbaf started to call
`IGM.finalize()`, which leads the Clang instance to emit ObjC metadata
sections when the ObjC interop is enabled. Emitting ObjC metadata
sections is not well supported on non-Darwin platforms and causes
crashes for WebAssembly and COFF object formats[^1].

modulewrap tool did not configure the ObjC interop option, so it always
enabled the ObjC interop. This patch aligns the default ObjC interop
value with other tools by disabling it on non-Darwin platforms.

[^1]: https://github.com/apple/llvm-project/blob/stable/20230725/clang/lib/CodeGen/CGObjCMac.cpp#L5068-L5074
2024-05-04 15:16:57 +00:00

7.5 KiB