[MAJOR BUG] g++ 2.95.x generates invalid code for KDE 3.3.0

Leo Savernik l.savernik at aon.at
Sun Sep 19 18:26:07 BST 2004

Am Sonntag, 19. September 2004 18:13 schrieb Gary L. Greene, Jr.:
> Agreed, especially since iirc from the info about gcc 4.x (which is still
> alpha), we'll be gaining symbol visibility functionality akin to other
> commercial compilers. This WILL break things if we don't do TONS of #ifdefs
> in the code for the older compilers.

We already have tons of ifdefs in kdemacros.h, kdelibs_export.h and whatever 
they're called. Adding a few more (that resolve to nothing for 
older/alternative compilers) is no issue.

> Personally I'd like to see 2.9x 
> dropped as supported platform, since as time goes on, we'll be forced to
> work around more and more added features in the new one just to allow it to
> build on these older compilers.

As I mentioned above, new attributes are no issue for older compilers. They 
have to be macroized anyway for the sake of portability.
> Don't get me wrong, I know how much of a pain it is to move to a newer
> generation of compiler, but we can't keep support for a nearly five year
> old compiler when 90% of the platforms that are running current KDE's are
> on newer versions.

It is a two-fold pain. Upgrrading
(1) forces one to recompile large parts of the system
(2) makes development much slower (gcc-2.95 is twice as fast as any gcc-3.x)

Unless compilation speed of newer gccs hasn't been brought at least on par of 
gcc-2.95, I won't even *think* about upgrading.

Maybe gcc 4.0 gets an edge in speed again, then the fall of (2) alone may 
justify the drop of gcc-2.95 (but I doubt, and it will probably be as buggy 
as gcc 3.0 ;-), any optimists around?).


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20040919/33baa920/attachment.sig>

More information about the kde-core-devel mailing list