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: 2586 Reporter: administrator Status: closed Resolution: fixed Priority: normal Severity: minor Category: ~DO NOT USE (was: OCaml general)
Bug description
Full_Name: David Monniaux
Version: 3.07pl2
OS: Linux
Submission from: massena-8-82-225-77-14.fbx.proxad.net (82.225.77.14)
icc (Intel C Compiler v8.0pl66) refuses to compile OCaml because byterun/sys.c
declares:
extern char * sys_errlist []; :
sys.c(76): error: declaration is incompatible with "const char *const
sys_errlist[]" (declared at line 28 of "/usr/include/bits/sys_errlist.h")
Some "const" could perhaps be added, or the right header file included without
further redeclaration.
But that's not all:
../boot/ocamlrun ../boot/ocamlc -g -warn-error A -nostdlib -nopervasives -c
pervasives.mli
make[1]: *** [pervasives.cmi] Segmentation fault
I'm at a loss whether this is a bug in OCaml or in icc. Using icc -U__GNUC__ (or
probably icc -no-gcc) solves the problem. Apparently, OCaml tries to use some
GNU C-specific trick, and icc, which pretends to be GNU C since it supports some
of the GNU extension, fails to do the right thing. Alternatively, OCaml may rely
on some undocumented behavior of GNU C.
icc may be detected by the __INTEL_COMPILER define.
If I have time, I'll try to locate which GNU C feature usage causes the
problems.
The text was updated successfully, but these errors were encountered:
Original bug ID: 2586
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)
Bug description
Full_Name: David Monniaux
Version: 3.07pl2
OS: Linux
Submission from: massena-8-82-225-77-14.fbx.proxad.net (82.225.77.14)
icc (Intel C Compiler v8.0pl66) refuses to compile OCaml because byterun/sys.c
declares:
extern char * sys_errlist []; :
sys.c(76): error: declaration is incompatible with "const char *const
sys_errlist[]" (declared at line 28 of "/usr/include/bits/sys_errlist.h")
Some "const" could perhaps be added, or the right header file included without
further redeclaration.
But that's not all:
../boot/ocamlrun ../boot/ocamlc -g -warn-error A -nostdlib -nopervasives -c
pervasives.mli
make[1]: *** [pervasives.cmi] Segmentation fault
I'm at a loss whether this is a bug in OCaml or in icc. Using icc -U__GNUC__ (or
probably icc -no-gcc) solves the problem. Apparently, OCaml tries to use some
GNU C-specific trick, and icc, which pretends to be GNU C since it supports some
of the GNU extension, fails to do the right thing. Alternatively, OCaml may rely
on some undocumented behavior of GNU C.
icc may be detected by the __INTEL_COMPILER define.
If I have time, I'll try to locate which GNU C feature usage causes the
problems.
The text was updated successfully, but these errors were encountered: