[Ecls-list] Small warning patches

Jerry James loganjerry at gmail.com
Mon Aug 13 15:52:27 UTC 2012

On Mon, Aug 13, 2012 at 1:10 AM, Matthew Mondor
<mm_lists at pulsar-zone.net> wrote:
> It appears that these are part of boehm-gc and that the prototypes are
> already available via private/gc_priv.h (although those being in
> private might indicate that they're not for third party use)?  It's
> rarely a good idea to define local prototypes for functions provided by
> a third party library, though...

If you "make install" after building bdwgc, the header files in
include/private are not installed anywhere.  This means that those
using some Linux distribution's boehm-gc package (I'm building on
Fedora) don't have any visible prototypes for these functions.  While
it is dangerous to include local prototypes for functions provided by
a third party library, it is also dangerous to let the compiler make
assumptions about the bit widths of function parameters and return
values for functions without prototypes; i.e., using non-public
functions is dangerous, no matter what you do.

However, I also see this in bdwgc git:

commit d6836651e8424278d3112499ca7dd0bf4c808079
Author: Petter Urkedal <paurkedal at gmail.com>
Date:   Sun Jan 8 17:30:42 2012 +0800

    Export mark-bit manipulation functions.

    * include/private/gc_priv.h, include/gc_mark.h: Move GC_is_marked,
    GC_clear_mark_bit and GC_set_mark_bit to a public header and adjust
    prototypes and comment.
    * mark.c: Adjust prototypes accordingly.

So this will no longer be a problem for gc 7.3alpha2 and newer.
(Fedora is currently on version 7.2c.)

> Juan (the ECL maintainer) is gone on vacation, but should probably
> review your various patches and integrate them as necessary when he's
> back.  Thanks for submitting these.

My pleasure.  Regards,
Jerry James

More information about the ecl-devel mailing list