I've had issues with this which have prevented me from building (currently adding cross-compilation support to ocaml). Even if we only consider the warnings, they don't seem completely harmless. As far as I'm concerned, I've renamed the header to "_caml_io.h".

I don't understand why '#include <io.h>' uses the caml header: using '<io.h>' instead of '"io.h"' is supposed to pull the system header... It's not the first time I notice something like that however.