runtime: skip testSetPanicOnFault for gollvm
authorIan Lance Taylor <ian@gcc.gnu.org>
Tue, 9 Oct 2018 16:51:10 +0000 (16:51 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Tue, 9 Oct 2018 16:51:10 +0000 (16:51 +0000)
    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

gcc/go/gofrontend/MERGE
libgo/go/runtime/runtime_test.go

index 6e783c96d6d4021199699ac4b18bec4485858ec8..76689a3b50ae063e4c46c1f506367992690913a1 100644 (file)
@@ -1,4 +1,4 @@
-a9da4d34a2f878a5058f7e7d2beef52aa62471a1
+e32e9aaee598eeb43f9616cf6ca1d11acaa9d167
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 995ce257870e9ea6c22172f01d04009601aa55f9..222679e048d847b073168489d65f3afeeeaa25e6 100644 (file)
@@ -166,6 +166,9 @@ func TestSetPanicOnFault(t *testing.T) {
 }
 
 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")
        }