Antique-team / clangml

OCaml bindings for clang
Other
24 stars 6 forks source link

Compiler stack overflows when compiling clangml/clang__bindings.ml #70

Open kit-ty-kate opened 3 years ago

kit-ty-kate commented 3 years ago

I can't have access to the inria so I'm open the issue here. On ppc64 with the default stack size (8192) or on x86_64 with half the default stack size (4096):

#=== ERROR while compiling clangml.4.3.0 ======================================#
# context     2.1.0~beta4 | linux/x86_64 | ocaml-base-compiler.4.11.2 | file:///home/opam/opam-repository
# path        ~/.opam/4.11/.opam-switch/build/clangml.4.3.0
# command     ~/.opam/4.11/bin/dune build -p clangml -j 47 @install
# exit-code   1
# env-file    ~/.opam/log/clangml-12485-541609.env
# output-file ~/.opam/log/clangml-12485-541609.out
### output ###
#     ocamlopt clangml/.clang.objs/native/clang__Clang__bindings.{cmx,o} (exit 2)
# (cd _build/default && /home/opam/.opam/4.11/bin/ocamlopt.opt -open Stdcompat -w +32+34-40 -g -I clangml/.clang.objs/byte -I clangml/.clang.objs/native -I /home/opam/.opam/4.11/lib/metapp -I /home/opam/.opam/4.11/lib/metapp/preutils -I /home/opam/.opam/4.11/lib/ocaml-compiler-libs/common -I /home/opam/.opam/4.11/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/4.11/lib/ocaml-migrate-parsetree -I /home/opam/.opam/4.11/lib/ocaml/compiler-libs -I /home/opam/.opam/4.11/lib/ppx_derivers -I /home/opam/.opam/4.11/lib/ppxlib -I /home/opam/.opam/4.11/lib/ppxlib/ast -I /home/opam/.opam/4.11/lib/ppxlib/print_diff -I /home/opam/.opam/4.11/lib/ppxlib/stdppx -I /home/opam/.opam/4.11/lib/ppxlib/traverse_builtins -I /home/opam/.opam/4.11/lib/refl -I /home/opam/.opam/4.11/lib/sexplib0 -I /home/opam/.opam/4.11/lib/stdcompat -I /home/opam/.opam/4.11/lib/stdlib-shims -I /home/opam/.opam/4.11/lib/traverse -I config/.clangml_config.objs/byte -I config/.clangml_config.objs/native -intf-suffix .ml -no-alias-deps -open Clang__ -o clangml/.clang.objs/native/clang__Clang__bindings.cmx -c -impl clangml/clang__bindings.pp.ml)
# Fatal error: exception Stack overflow

The file in question is too big:

$ wc -l clangml/clang__bindings.pp.ml
110417 clangml/clang__bindings.pp.ml