[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: The meaning of double-underscore symbols

From: Branko Čibej <brane_at_xbc.nu>
Date: 2005-10-05 23:53:17 CEST

kfogel@collab.net wrote:

>Philip Martin <philip@codematters.co.uk> writes:
>
>
>>>"Max Bowsher" <maxb@ukf.net> writes:
>>>
>>>
>>>>svn_error__locate: used almost everywhere
>>>>
>>>>
>>>Mmm, sort of.
>>>
>>>It's present in the expansions of some svn_err_* macros, but that's
>>>okay. Those macros are in the correct space, and whatever they want
>>>to do is fine, because the macro would always be changed along with
>>>the internal implementation on which it depends.
>>>
>>>
>>Although macros hide the double underscore name at the source code
>>level, the compiled object code will still have a dependency on the
>>svn_error__locate name. Thus we have to treat svn_error__locate like
>>any other public symbol, despite the use of double underscore.
>>
>>
>
>It depends on what "treat ... like" means, exactly.
>
>Internally, Subversion can guarantee (to itself) that it will only use
>svn_error__locate() for these macros. Thus, anyone using the macros
>together with the correct set of full Subversion libraries -- which is
>how we say Subversion works -- will not run into trouble. Were we to
>change the definition of svn_error__locate(), we'd change the macros
>at the same time.
>
>Can you say a scenario you have in mind, where having the symbols be
>in the object code, even if not the source code, would be a problem?
>I feel like I may be being insufficiently imaginative here...
>
>
Well, as matter of fact, I'd like to fix the build so the
double-underscore symbols are never exported from the shared libraries.
Current exceptions would remain such, but in general, it's either public
(and exported) or not (and therefore not exported).

I'm fairly sure that there are library users out there that are happily
using those private symbols, and will scream when we change the
semantics/signature/whatever.

-- Brane

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed Oct 5 23:54:04 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.