Skip to content

runtime header file io.h conflicts with a system header file #4175

@vicuna

Description

@vicuna

Original bug ID: 4175
Reporter: @oandrieu
Assigned to: @gasche
Status: closed (set by @xavierleroy on 2016-12-07T10:47:08Z)
Resolution: duplicate
Priority: normal
Severity: minor
Target version: 4.02.2+dev / +rc1
Fixed in version: 4.03.0+dev / +beta1
Category: ~DO NOT USE (was: OCaml general)
Tags: patch
Duplicate of: #5887
Monitored by: Camarade_Tux

Bug description

Le fichier byterun/io.h est en conflit avec le io.h standard de Windows. La règle de compilation de win32.o dans Makefile.nt essaye bien de bricoler pour contourner le problème mais ce n'est pas suffisant : par exemple sous mingw, <fcntl.h> fait un include <io.h> mais lors de la compilation dans amsrun/ c'est le io.h de caml qui est inclus (à cause de l'option -I../byterun).

Il faudrait soit:

  • renommer io.h en caml_io.h par exemple
  • éviter complètement l'option -I../byterun dans asmrun/Makefile et asmrun/Makefile.nt en liant/copiant les fichiers .h de la même façon que les fichiers .c

En attachement, un patch avec quelques #include supplémentaires pour éviter des warnings du compilateur C.

File attachments

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions