summaryrefslogtreecommitdiffstats
path: root/asmcomp/closure.ml
diff options
context:
space:
mode:
Diffstat (limited to 'asmcomp/closure.ml')
-rw-r--r--asmcomp/closure.ml4
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