| ... | ... | @@ -62,6 +62,8 @@ fn addCaseTarget( |
| 62 | 62 | |
| 63 | 63 | // On aarch64-macos, FP unwinding is blessed by Apple to always be reliable, and std.debug knows this. |
| 64 | 64 | const fp_unwind_is_safe = target.result.cpu.arch == .aarch64 and target.result.os.tag.isDarwin(); |
| 65 | // On x86-windows, only FP unwinding is available. |
| 66 | const supports_unwind_tables = target.result.os.tag != .windows or target.result.cpu.arch != .x86; |
| 65 | 67 | |
| 66 | 68 | const use_llvm_vals: []const bool = if (both_backends) &.{ true, false } else &.{true}; |
| 67 | 69 | const pie_vals: []const ?bool = if (both_pie) &.{ true, false } else &.{null}; |
| ... | ... | @@ -88,6 +90,7 @@ fn addCaseTarget( |
| 88 | 90 | for (link_libc_vals) |link_libc| { |
| 89 | 91 | for (strip_debug_vals) |strip_debug| { |
| 90 | 92 | for (unwind_info_vals) |unwind_info| { |
| 93 | if (unwind_info.tables and !supports_unwind_tables) continue; |
| 91 | 94 | self.addCaseInstance( |
| 92 | 95 | target, |
| 93 | 96 | triple, |
| ... | ... | @@ -97,7 +100,7 @@ fn addCaseTarget( |
| 97 | 100 | pie, |
| 98 | 101 | link_libc, |
| 99 | 102 | strip_debug, |
| 100 | | !unwind_info.tables, |
| 103 | !unwind_info.tables and supports_unwind_tables, |
| 101 | 104 | !unwind_info.fp, |
| 102 | 105 | config.expect_panic, |
| 103 | 106 | if (strip_debug) config.expect_strip else config.expect, |