diff options
Diffstat (limited to 'asmcomp/closure.ml')
-rw-r--r-- | asmcomp/closure.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/asmcomp/closure.ml b/asmcomp/closure.ml index 9d3749d44..24e866de2 100644 --- a/asmcomp/closure.ml +++ b/asmcomp/closure.ml @@ -1291,6 +1291,8 @@ let intro size lam = global_approx := Array.init size (fun i -> Value_global_field (id, i)); Compilenv.set_global_approx(Value_tuple !global_approx); let (ulam, approx) = close Tbl.empty Tbl.empty lam in - collect_exported_structured_constants (Value_tuple !global_approx); + if !Clflags.opaque + then Compilenv.set_global_approx(Value_unknown) + else collect_exported_structured_constants (Value_tuple !global_approx); global_approx := [||]; ulam |