unit test LayerTabBar, now linker problem

Michael Stahl mst at libreoffice.org
Mon Oct 15 13:45:49 UTC 2018


On 15.10.18 14:56, Regina Henschel wrote:
> Hallo Michael,
> 
> Michael Stahl schrieb am 14-Oct-18 um 13:49:
>> On 13/10/2018 21:04, Regina Henschel wrote:

>>> linker cannot find typeinfo for sd::GraphicViewShell (
>>> https://ci.libreoffice.org/job/gerrit_linux_gcc_release/17086/ )
>>>
>>> What is wrong there?
>>
>> apparently GCC can't find the type information for GraphicViewShell
>> because it isn't exported from the shared library "sd".
>>
>> it is needed because of dynamic_cast<sd::GraphicViewShell*> in the test.
>>
>> you could use SAL_DLLPUBLIC_RTTI on GraphicViewShell, which will export
>> just enough so that dynamic_cast and type_info works, or use
>> SD_DLLPUBLIC on it, which will make all its member functions available
>> as well.
> 
> Both do not work, SD_DLLPUBLIC does not compile here, and 
> SAL_DLLPUBLIC_RTTI fails too, see Jenkins for patch set 5.

hmmm...

clang plugin dyncastvisibility did trigger. dynamic_cast from 
"sd::ViewShell" with hidden type visibility to "sd::GraphicViewShell" 
with default type visibility

... so probably you'd need to put the SAL_DLLPUBLIC_RTTI on the 
superclass sd::ViewShell as well.


More information about the LibreOffice mailing list