return false
}
t := n.Type
+ // dowidth may not have been called for PEXTERN.
+ dowidth(t)
+ w := t.Width
+ if w == BADWIDTH {
+ Fatalf("instrument: %v badwidth", t)
+ }
+ if w == 0 {
+ return false // can't race on zero-sized things
+ }
if isartificial(n) {
return false
}
if wr != 0 {
name = "msanwrite"
}
- // dowidth may not have been called for PEXTERN.
- dowidth(t)
- w := t.Width
- if w == BADWIDTH {
- Fatalf("instrument: %v badwidth", t)
- }
f = mkcall(name, nil, init, uintptraddr(n), nodintconst(w))
} else if flag_race && (t.IsStruct() || t.IsArray()) {
name := "racereadrange"
if wr != 0 {
name = "racewriterange"
}
- // dowidth may not have been called for PEXTERN.
- dowidth(t)
- w := t.Width
- if w == BADWIDTH {
- Fatalf("instrument: %v badwidth", t)
- }
f = mkcall(name, nil, init, uintptraddr(n), nodintconst(w))
} else if flag_race {
name := "raceread"