aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/staticinit
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/compile/internal/staticinit')
-rw-r--r--src/cmd/compile/internal/staticinit/sched.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/compile/internal/staticinit/sched.go b/src/cmd/compile/internal/staticinit/sched.go
index 5e39bb512f..c79715be46 100644
--- a/src/cmd/compile/internal/staticinit/sched.go
+++ b/src/cmd/compile/internal/staticinit/sched.go
@@ -228,6 +228,9 @@ func (s *Schedule) staticcopy(l *ir.Name, loff int64, rn *ir.Name, typ *types.Ty
case ir.OADDR:
r := r.(*ir.AddrExpr)
if a, ok := r.X.(*ir.Name); ok && a.Op() == ir.ONAME {
+ if a.Class != ir.PEXTERN {
+ return false // e.g. local from new(expr)
+ }
staticdata.InitAddr(l, loff, staticdata.GlobalLinksym(a))
return true
}