David Faure wrote:
>I thought we didn't want to use those macros because Qt's definition of
> "a compiler that supports hidden visibility" and KDE's definition
> varied a little bit. At least they did in qt3/kde3 times because kde
> was hitting bugs in some versions of gcc where hidden-visibility was
> however implemented good enough for qt's needs (which are less than
> kde's needs). Dirk probably has more concrete details about this, but I
> think it does make sense to keep this distinction since after all we
> have our own configure check for whether gcc supports
> hidden-visibility, so in case there's any mismatch between what qt
> detected and what kde detected, things might not compile.

I have investigated a bit and you're correct: our requirements on gcc are 
stronger than Qt's because our source code is a bit more lax. However, I 
do wonder why Qt isn't affected by gcc bug 19664... they use STL 
sometimes too.

Anyways, this has also shown to me that the extra macro requirements I was 
about to impose will not work on x86-64. And they will break on i386 
whenever a global variable is used.

On the other hand, I'll be writing a report in the form of "best practices 
in C++" so that we avoid the extra symbols. If we follow them, we may be 
able to re-enable visibility on the platforms where it's disabled now.

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358

Attachment: pgptKvmWyG9rR.pgp
Description: PGP signature

_______________________________________________
Kde-buildsystem mailing list
Kde-buildsystem@kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem

Reply via email to