Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0004164OCamlruntime system and C interfacepublic2006-11-16 10:302016-12-08 12:00
Reportermonate 
Assigned Todoligez 
PriorityhighSeverityminorReproducibilityalways
StatusclosedResolutionduplicate 
PlatformOSOS Version
Product Version3.09.3 
Target Version4.03.1+devFixed in Version 
Summary0004164: caml C headers may clash with other C libraries
DescriptionDear dev. team,

All function in caml C headers are prefixed with caml_.
This is not the case for typedef nor macros in mlvalues.h.
See mlvalues.h for example:
typedef intnat value;
typedef uintnat header_t;
typedef uintnat mlsize_t;
typedef unsigned int tag_t; /* Actually, an unsigned char */
typedef uintnat color_t;
typedef uintnat mark_t;
#define Is_long(x) (((x) & 1) != 0)
#define Is_block(x) (((x) & 1) == 0)
#define Val_long(x) (((intnat)(x) << 1) + 1)
#define Long_val(x) ((x) >> 1)
...

Some of these definitions may clash with other libraries.

Could you provide a cleaner name scheme for all elements in caml headers, and
add the old definitions to compatibility.h ?

Thanks in advance
Benjamin





TagsNo tags attached.
Attached Files

- Relationships
related to 0001956acknowledgeddoligez Name clashes 
has duplicate 0004230closeddoligez value name conflict 
related to 0005254resolvedshinwell Compilation of generated .c files with g++ 
related to 0004877closed Definition of uint64 in caml/config.h conflicts. (MacOSX Snow Leopard, X86_64) 
related to 0006517closed It would be nice if <caml/*.h> didn't define types like "int64" 

-  Notes
(0016853)
shinwell (developer)
2016-12-08 12:00

Superceded by 0001956

- Issue History
Date Modified Username Field Change
2006-11-16 10:30 monate New Issue
2006-11-17 15:26 doligez Relationship added related to 0001956
2006-11-17 15:26 doligez Assigned To => doligez
2006-11-17 15:26 doligez Status new => acknowledged
2007-04-03 18:03 doligez Relationship added has duplicate 0004230
2011-08-02 09:57 xclerc Relationship added related to 0005254
2012-07-11 16:15 doligez Target Version => 4.01.0+dev
2012-07-31 13:37 doligez Target Version 4.01.0+dev => 4.00.1+dev
2012-09-11 09:21 doligez Target Version 4.00.1+dev => 4.01.0+dev
2012-09-17 17:34 doligez Relationship added related to 0004877
2013-07-24 12:16 doligez Target Version 4.01.0+dev => 4.01.1+dev
2014-05-25 20:20 doligez Target Version 4.01.1+dev => 4.02.0+dev
2014-08-18 15:20 doligez Target Version 4.02.0+dev => 4.02.1+dev
2014-08-20 10:21 doligez Relationship added related to 0006517
2014-09-04 00:25 doligez Target Version 4.02.1+dev => undecided
2014-09-25 17:30 doligez Target Version undecided => 4.02.2+dev / +rc1
2015-01-16 22:29 doligez Target Version 4.02.2+dev / +rc1 => 4.03.0+dev / +beta1
2016-03-23 14:50 doligez Target Version 4.03.0+dev / +beta1 => 4.03.1+dev
2016-12-07 18:02 shinwell Category OCaml general => OCaml runtime system
2016-12-08 11:59 shinwell Priority normal => high
2016-12-08 12:00 shinwell Note Added: 0016853
2016-12-08 12:00 shinwell Status acknowledged => closed
2016-12-08 12:00 shinwell Resolution open => duplicate
2017-02-23 16:43 doligez Category OCaml runtime system => runtime system
2017-03-03 17:45 doligez Category runtime system => runtime system and C interface


Copyright © 2000 - 2011 MantisBT Group
Powered by Mantis Bugtracker