aboutsummaryrefslogtreecommitdiffstats
path: root/prog/clone.go
diff options
context:
space:
mode:
Diffstat (limited to 'prog/clone.go')
-rw-r--r--prog/clone.go6
1 files changed, 4 insertions, 2 deletions
diff --git a/prog/clone.go b/prog/clone.go
index 69a54cd4e..6a6837148 100644
--- a/prog/clone.go
+++ b/prog/clone.go
@@ -44,7 +44,9 @@ func (arg *Arg) clone(c *Call, newargs map[*Arg]*Arg) *Arg {
for _, arg2 := range arg.Inner {
arg1.Inner = append(arg1.Inner, arg2.clone(c, newargs))
}
- arg1.Uses = nil // filled when we clone the referent
- newargs[arg] = arg1
+ if len(arg1.Uses) != 0 {
+ arg1.Uses = nil // filled when we clone the referent
+ newargs[arg] = arg1
+ }
return arg1
}