cmd/internal/gc: add missing write barrier in append(x, BigStructWithPointers)
Fixes #10897.
Change-Id: I5c2d1f9d26333e2b2a0613ebf496daa465e07c24
Reviewed-on: https://go-review.googlesource.com/10221
Reviewed-by: Austin Clements <austin@google.com>
diff --git a/test/writebarrier.go b/test/writebarrier.go
index b24af9a..9b741a6 100644
--- a/test/writebarrier.go
+++ b/test/writebarrier.go
@@ -128,3 +128,19 @@
func f14(y *[]int) {
*y = append(*y, 1) // ERROR "write barrier"
}
+
+type T1 struct {
+ X *int
+}
+
+func f15(x []T1, y T1) []T1 {
+ return append(x, y) // ERROR "write barrier"
+}
+
+type T8 struct {
+ X [8]*int
+}
+
+func f16(x []T8, y T8) []T8 {
+ return append(x, y) // ERROR "write barrier"
+}