useless definition of _SV_RULER_CXX ?

Caolán McNamara caolanm at redhat.com
Thu Feb 14 06:43:16 PST 2013


On Wed, 2013-02-13 at 12:16 -0200, Rodolfo wrote:
> While working on a patch, I saw this #define inside a .cxx file... [1]
> 
> Some (private) methods of class Ruler are declared inside an #ifdef of
> it [2]. But that can be only triggered inside ruler.cxx file [1] : a
> trick by defining _SV_RULER_CXX right before including the header
> file.
> 
> Is it really necessary? Shouldn't SVT_DLLPRIVATE do this
> completely-"private"-thing?

Those hacky defines precede by a very long time all the visibility
markup. Anyway the ifdef hackery is orthogonal to the actual visibility
of those symbols (surely anyway). I don't know why that sort of stuff
exists, but it only exists in the oldest of code and it's as if there
was no public/private support in someones compiler :-) 

My best theory is that it was intended to speed up builds by having less
"stuff" in the headers for compilers to parse by having the preprocessor
strip out the stuff includers didn't need to see. Which would suggest
that it will only be found around private methods, i.e. not
protected/public methods or anything that takes up space.

So, IMO it's not necessary and feel free to remove it.

C.



More information about the LibreOffice mailing list