New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
infinite loop in ocamlc/ocamlopt #7397
Comments
Comment author: @hhugo Note that it works fine with 4.04.0+beta2 |
Comment author: @damiendoligez Indeed. Bisecting points to this commit: 8811d34 |
Comment author: @hhugo Js_of_ocaml now compiles, but there is a huge performance regression $ ocamlfind ocamlc -w +A-4-7-9-37-38-41-44-45 -pp "camlp4o syntax/pa_js.cmo" -safe-string -package lwt,uchar -c -g xmlHttpRequest.ml -dtimings |
Comment author: @hhugo There is a big performance regression |
Comment author: @hhugo step to reproduce: with 4.04.0+beta2, I get : $ ocamlfind ocamlc -w +A-4-7-9-37-38-41-44-45 -pp "camlp4o syntax/pa_js.cmo" -safe-string -package lwt,uchar -c -g xmlHttpRequest.ml -dtimings |
Comment author: @garrigue I did expect a performance regression, but not that big indeed. |
Comment author: @garrigue Commit c20a709 seems to solve the performance problem. @hhugo Could you check that it solves the problem for your whole code base? |
Comment author: @hhugo Problem solved. Thanks |
Original bug ID: 7397
Reporter: @hhugo
Assigned to: @garrigue
Status: closed (set by @damiendoligez on 2016-11-04T14:51:27Z)
Resolution: fixed
Priority: urgent
Severity: block
Target version: 4.04.0 +dev / +beta1 / +beta2
Fixed in version: 4.04.0 +dev / +beta1 / +beta2
Category: typing
Monitored by: @garrigue
Bug description
The ocaml compiler never terminate on one of the file of the js_of_ocaml codebase.
See below for a minimal example.
Steps to reproduce
compile the following program with ocamlc/ocamlopt
type +'a t
class type a = object
method b : b
end
and b = object
method a : a
end
type _ response =
| C : #a t response
let f (type a) (a : a response) =
match a with
| C -> 0
Additional information
This is using an up to date 4.04.0+trunk opam switch
The text was updated successfully, but these errors were encountered: