mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
When running Swift from within LLDB, we need to bypass resilience since LLDB does not support resilience yet. However, the bypass was done too early as part of the module loader, which had the effect of disabling resilience altogether. We still want resilience at the SIL level so that function types lower the same with debugger support turned on and off. Only IRGen needs to bypass resilience, so that LLDB can calculate fragile layouts of types. Also, the DebuggerSupport flag is not always set in the ASTContexts created by LLDB. So replace it with a new flag that only controls this behavior and nothing else, and make it part of IRGenOptions to make it totally clear that it only impacts IRGen. Together with the paired LLDB change, fixes <rdar://problem/38719739> and <rdar://problem/38483762>.
42 KiB
42 KiB