------- Comment #2 from simon_baldwin at yahoo dot com 2009-11-04 12:17 ------- I have a minimal failing case for this, I think. I'm using trunk 153803, for what it's worth.
$ cat demo.c typedef long intnat; typedef intnat value; void caml_darken (value v, value *p) { } $ .../gcc -flto -O2 -c -O -fPIC demo.c $ .../gcc -flto -O2 -shared -o /dev/null demo.o lto1: internal compiler error: Segmentation fault Though it looks to be related to the ICE, the warning gc_ctrl.c:44:16: warning: type of 'caml_major_heap_increment' does not match original declaration major_gc.c:33:8: note: previously declared here seems genuine and unrelated to me. gc_ctrl.c declares this as extern asize_t (size_t, long unsigned), major_gc.c defines it as intnat (long). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41932