diff --git a/compileopts/target.go b/compileopts/target.go index df269a26..c15316e2 100644 --- a/compileopts/target.go +++ b/compileopts/target.go @@ -94,7 +94,7 @@ func (spec *TargetSpec) overrideProperties(child *TargetSpec) { dst.Set(src) case "append", "": // or append the field of child to spec - dst.Set(reflect.AppendSlice(src, dst)) + dst.Set(reflect.AppendSlice(dst, src)) default: panic("override mode must be 'copy' or 'append' (default). I don't know how to '" + tag + "'.") } diff --git a/compileopts/target_test.go b/compileopts/target_test.go index 11071663..6aea7e81 100644 --- a/compileopts/target_test.go +++ b/compileopts/target_test.go @@ -27,7 +27,7 @@ func TestOverrideProperties(t *testing.T) { base := &TargetSpec{ GOOS: "baseGoos", CPU: "baseCpu", - Features: []string{"bf1", "bf2"}, + CFlags: []string{"-base-foo", "-base-bar"}, BuildTags: []string{"bt1", "bt2"}, Emulator: []string{"be1", "be2"}, DefaultStackSize: 42, @@ -37,7 +37,7 @@ func TestOverrideProperties(t *testing.T) { child := &TargetSpec{ GOOS: "", CPU: "chlidCpu", - Features: []string{"cf1", "cf2"}, + CFlags: []string{"-child-foo", "-child-bar"}, Emulator: []string{"ce1", "ce2"}, AutoStackSize: &childAutoStackSize, DefaultStackSize: 64, @@ -51,8 +51,8 @@ func TestOverrideProperties(t *testing.T) { if base.CPU != "chlidCpu" { t.Errorf("Overriding failed : got %v", base.CPU) } - if !reflect.DeepEqual(base.Features, []string{"cf1", "cf2", "bf1", "bf2"}) { - t.Errorf("Overriding failed : got %v", base.Features) + if !reflect.DeepEqual(base.CFlags, []string{"-base-foo", "-base-bar", "-child-foo", "-child-bar"}) { + t.Errorf("Overriding failed : got %v", base.CFlags) } if !reflect.DeepEqual(base.BuildTags, []string{"bt1", "bt2"}) { t.Errorf("Overriding failed : got %v", base.BuildTags)