Boost logo

Boost :

Subject: Re: [boost] bcp update #2: namespace renaming
From: John Maddock (john_at_[hidden])
Date: 2010-01-02 06:09:42


>> Indeed, however your script would still miss (all?) of the
>> extern "C"
>> callbacks in current Trunk.
>
> You right, my script does not handle them.
>
> I've checked some of them:
>
>> asio_detail_posix_thread_function
>
> Even it is defined as extern "C" it is inline function thus it should
> not even appear in object file. Not a probem

Are you sure? I thought there would still *possibly* be a definition
available in every object file that included that header - even though it
would have vague linkage.

>> free_static_mutex
>> at_thread_exit
>> on_process_exit
>> on_process_enter
>> on_thread_enter
>> on_thread_exit
>
> Indeed, bad, but this is specific library bug and should be reported
> to their maintiainers.
>
> Library developers should make sure to use proper namespaces in "C like"
> functions: i.e. add "boost_" prefix as it is done with #define's
>
>
>> Plus all of the TR1 math functions (which should definitely
>> not be renamed
>> IMO).
>
> What do you mean? It is still under boost::tr1:: or am I wrong?

No they're extern "C" so they're globally visable (as well as visible in
std::tr1), and that's the whole point, they provide an alternative
implementation of those std functions if the std lib doesn't provide them.
Renaming them would defeat the whole point of them being there.

>> Obviously these could be renamed as special cases easily
>> enough... but
>> maintaining a manual list of API's to rename is a
>> maintainance nightmare.
>>
>> Any better ideas?
>
> Report bugs to developers and fix them.

Fair point. Filed as:

https://svn.boost.org/trac/boost/ticket/3809
https://svn.boost.org/trac/boost/ticket/3810
https://svn.boost.org/trac/boost/ticket/3811
https://svn.boost.org/trac/boost/ticket/3812

John.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk