Philip Martin wrote:

> Branko Čibej <br...@wandisco.com> writes:
>>>  The declaration of svn_hash__clear is only present for old APR while the
>>>  definition is always visible.  I get this warning:
>>> 
>>>  ../src2/subversion/libsvn_subr/hash.c:512:1: warning: no previous 
>>> prototype for 'svn_hash__clear' [-Wmissing-prototypes]
>>> 
>>>  We could fix it by moving the declaration outside the #if making
>>>  svn_hash__clear always available.  Or we could wrap the definition in a
>>>  #if (dropping the call to apr_hash_clear) so it is only available when
>>>  the declaration is available.
>>> 
>>>  Which is the best solution?
>> 
>>  Given that this is an internal API and not subject to compatibility
>>  across patch releases, I think we can safely make the implementation
>>  conditional on the same predicate.

Done in r1459370.

> I see similar warning for svn_dbg__preamble, svn_dbg__printf,
> svn_dbg__print_props, svn_error__locate, svn_error__trace when building
> without -DSVN_DEBUG.
> 
> The dbg stuff is declared in private/svn_debug.h so I think we could
> make the dbg definitions conditional as well.

+1 -- sounds sane to me.

> The error stuff probably needs to always be built since a 3rd party
> using our headers with -DSVN_DEBUG will generate references to the
> functions.  We should arrange for the prototype to be visible when
> compiling error.c

+1.  Move their declarations outside the '#ifdef' blocks that currently enclose 
them, in svn_error.h?

- Julian

Reply via email to