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.
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. 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 -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download