[Flac-dev] include/share/alloc.h
Josh Coalson
xflac at yahoo.com
Tue Sep 11 01:22:51 PDT 2007
--- Erik de Castro Lopo <erikd-flac at mega-nerd.com> wrote:
> Josh,
>
> I noticed the recent addition of the above file. In that file you
> have
> things like:
>
> static void *safe_malloc_(size_t size)
> {
> /* malloc(0) is undefined; FLAC src convention is to always
> allocate */
> if(!size)
> size++;
> return malloc(size);
> }
>
> Did you meant to have an "inline" in there to make it:
>
> static inline void *safe_malloc_(size_t size)
>
> By making them static functions, it means that (in C at least, not
> sure
> about C++) every object file gets a copy of these functions whether
> they
> are used or not. It also results in a bunch of warning messages like:
>
> ../../include/share/alloc.h:51: warning: 'safe_calloc_' defined
> but not used
> ../../include/share/alloc.h:68: warning: 'safe_malloc_add_3op_'
> defined but not used
> ../../include/share/alloc.h:79: warning: 'safe_malloc_add_4op_'
> defined but not used
> ../../include/share/alloc.h:115: warning: 'safe_malloc_mul_3op_'
> defined but not used
> ../../include/share/alloc.h:128: warning: 'safe_malloc_mul2add_'
> defined but not used
> ../../include/share/alloc.h:138: warning: 'safe_malloc_muladd2_'
> defined but not used
> ../../include/share/alloc.h:148: warning: 'safe_realloc_add_2op_'
> defined but not used
> ../../include/share/alloc.h:156: warning: 'safe_realloc_add_3op_'
> defined but not used
> ../../include/share/alloc.h:167: warning: 'safe_realloc_add_4op_'
> defined but not used
>
> In C (certainly C99, probably also C89) functions that that are
> defined
> "static inline" are inlined if used and ignored (ie no warnings) if
> not used.
>
> Is this stuff still a work in progress?
yes. I would use inline except I thought it is only since C99 (not
available in C89), so I'm planning to do the same odious hackery
that's everywhere else.
____________________________________________________________________________________
Pinpoint customers who are looking for what you sell.
http://searchmarketing.yahoo.com/
More information about the Flac-dev
mailing list