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