Advice needed on BIC

John Layt johnlayt at
Tue Dec 14 18:12:59 GMT 2010


I'm been reading the BIC techbase pages again to make sure the api changes 
I've done in 4.6 won't cause problems.  

I had always thought it was BIC safe to 'promote' api to less restricted 
access levels, however I notice now that this doesn't work under Windows and 
so is now considered BIC unsafe:

"[You cannot change] the access rights to some functions or data members, for 
example from private to public. With some compilers, this information may be 
part of the signature. If you need to make a private function protected or 
even public, you have to add a new function that calls the private one."

Now, I've introduced some private functions in the 4.5. and 4.6 that may 
eventually be made public, so for the 4.6 ones I'm going to rename them 
fooPrivate() or something similar, but I'm wondering about the 4.5 ones, am I 
able to rename them too in a BIC safe way?  The reason I ask is the page is 
slightly contradictory:

"[You can] remove private non-virtual functions if they are not called by any 
inline functions (and have never been)."


"[You cannot] For existing functions of any type ... remove it."

Can someone clarify for me which is correct?



More information about the kde-core-devel mailing list