C++ & Caml: name clash

From: Ohad Rodeh (orodeh@cs.huji.ac.il)
Date: Tue Apr 18 2000 - 10:08:13 MET DST

  • Next message: Sven LUTHER: "Re: When functional languages can be accepted by industry?"

    Hello,
      First of all, I'd like to thank all the replies for my
    first question.
     
      My second problem has to do with a name clash between
    the g++ standard library, and the alloc.h file from Caml.
    It turns out that the function "alloc" is defined by g++
    in file /usr/include/g++-2/stl_alloc.h as:
            typedef class __default_alloc_template<true,0> alloc
    In caml it is defined in include/alloc.h as:
            value alloc(mlsize_t, tag_t)

      This does not allow compiling a file that #includes both
    Caml and g++ header files.

      A simple solution is to recompile the Caml distribution
    with a compiler flag that will modify alloc to, say, caml_alloc.
    However, I will need to distribute, along with my code, a
    different version of Caml. Since this code is included in a much
    larger software distribution (Ensemble), this is not an option.

      What do you suggest?

      Thanks,
            Ohad.



    This archive was generated by hypermail 2b29 : Wed Apr 19 2000 - 15:11:27 MET DST