You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 7053 Reporter:@gasche Assigned to:@lpw25 Status: closed (set by @alainfrisch on 2016-01-27T08:26:57Z) Resolution: fixed Priority: normal Severity: feature Version: 4.03.0+dev / +beta1 Target version: 4.03.0+dev / +beta1 Fixed in version: 4.03.0+dev / +beta1 Category: ~DO NOT USE (was: OCaml general) Monitored by:@diml
Bug description
Leo proposes to warn on missing .cmx files (a compilation mode that is rather unspecified but was supported for a long time), unless the "-opaque" flag has been used to compile the corresponding .cmi (as a way to indicate that there may be none or several .cmx files in competition for that implementation, and that dependent modules should thus not commit to one of them).
Additional information
Note that it is possible to create "morally empty" .cmx file by using the -opaque option to compile the module. If you were previously removing the .cmx files for some reason, using -opaque at cmx-production time is likely to be what you are looking for.
The reason for warning on missing .cmx files is that these missing files tricks make it really hard for the compiler backend to reason on cross-module optimization. For example a module A may compile against a dependency B, both having a shared dependency C, but B say C's cmx file while A doesn't see it. Then the optimizer code needs to reason transitively and that is hard to get right.
The text was updated successfully, but these errors were encountered:
Original bug ID: 7053
Reporter: @gasche
Assigned to: @lpw25
Status: closed (set by @alainfrisch on 2016-01-27T08:26:57Z)
Resolution: fixed
Priority: normal
Severity: feature
Version: 4.03.0+dev / +beta1
Target version: 4.03.0+dev / +beta1
Fixed in version: 4.03.0+dev / +beta1
Category: ~DO NOT USE (was: OCaml general)
Monitored by: @diml
Bug description
Leo proposes to warn on missing .cmx files (a compilation mode that is rather unspecified but was supported for a long time), unless the "-opaque" flag has been used to compile the corresponding .cmi (as a way to indicate that there may be none or several .cmx files in competition for that implementation, and that dependent modules should thus not commit to one of them).
Additional information
Note that it is possible to create "morally empty" .cmx file by using the -opaque option to compile the module. If you were previously removing the .cmx files for some reason, using -opaque at cmx-production time is likely to be what you are looking for.
The reason for warning on missing .cmx files is that these missing files tricks make it really hard for the compiler backend to reason on cross-module optimization. For example a module A may compile against a dependency B, both having a shared dependency C, but B say C's cmx file while A doesn't see it. Then the optimizer code needs to reason transitively and that is hard to get right.
The text was updated successfully, but these errors were encountered: