]> Cypherpunks.ru repositories - gostls13.git/blobdiff - test/writebarrier.go
cmd/compile/internal/inline: score call sites exposed by inlines
[gostls13.git] / test / writebarrier.go
index 8cd559c19077b16b089796696cbae5d5297bbac3..1b30fa509e5503275904c53fb7d559296ab85259 100644 (file)
@@ -148,12 +148,12 @@ func f16(x []T8, y T8) []T8 {
 func t1(i interface{}) **int {
        // From issue 14306, make sure we have write barriers in a type switch
        // where the assigned variable escapes.
-       switch x := i.(type) { // ERROR "write barrier"
-       case *int:
+       switch x := i.(type) {
+       case *int: // ERROR "write barrier"
                return &x
        }
-       switch y := i.(type) { // no write barrier here
-       case **int:
+       switch y := i.(type) {
+       case **int: // no write barrier here
                return y
        }
        return nil
@@ -289,3 +289,17 @@ func f27(p *int) []interface{} {
                p,           // ERROR "write barrier"
        }
 }
+
+var g28 [256]uint64
+
+func f28() []interface{} {
+       return []interface{}{
+               false,      // no write barrier
+               true,       // no write barrier
+               0,          // no write barrier
+               1,          // no write barrier
+               uint8(127), // no write barrier
+               int8(-4),   // no write barrier
+               &g28[5],    // no write barrier
+       }
+}