[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
http://www.jamezone.org/
More information about the ecl-devel
mailing list