LLVM doesn't support non-call exception. This test was passing
more or less by luck: if the faulting instruction is between two
calls with the same landing pad (in instruction layout order,
not the program's logic order), it generates a merged PC range
that covers the faulting instruction. If the instruction layout
order changes, or it uses two different (but may be degenerate)
landing pads, this doesn't work.
Reviewed-on: https://go-review.googlesource.com/c/140517
From-SVN: r264985
-a9da4d34a2f878a5058f7e7d2beef52aa62471a1
+e32e9aaee598eeb43f9616cf6ca1d11acaa9d167
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
}
func testSetPanicOnFault(t *testing.T, addr uintptr, nfault *int) {
+ if strings.Contains(Version(), "llvm") {
+ t.Skip("LLVM doesn't support non-call exception")
+ }
if GOOS == "nacl" {
t.Skip("nacl doesn't seem to fault on high addresses")
}