[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sync.m
From: |
Riccardo Mottola |
Subject: |
Re: sync.m |
Date: |
Mon, 01 Mar 2010 23:28:42 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.9.1.6) Gecko/20100109 SeaMonkey/2.0.1 |
Hi,
Nicola Pero wrote:
As GCC 2.95.3 was released in March 16, 2001, it may make sense to no
longer support it.
Or maybe it does. I vote for supporting it.
Me obviously too!
Anyway the question really is - what is the oldest GCC that we support
if it's not 2.95.3 ?
3.0.4 (released February 20, 2002) ?
Actually I think I find it more useful to support gcc 2.95 than 3.0.4 if
any oddity will arise. From a personal experience in porting to non-gnu
and non-BSD platforms, gcc 2.95 is a big milestone. THe next one is gcc
3.2, which was the last reasonable gcc compiler (with that I mean that
if you can run 3.0, chances are high that 3.2 will be a no brainer).
From that point on things get hairier with every release, depending
more and more on gnu binary utilities, gnu assembler and with gcc 4 on
other libraries. This makes it really a pain to bootstrap the compiler.
I never got a reliable gcc > 3.2 on my AIX 4.x boxen at my old workplace
and although IRIX was difficult, I do't think I got anything past gcc
3.4 to work. OFten C does work, but C++ does not and usually people like
to have one compiler for C, C++ and Obj-C!
Not that we support those platforms, I just used those as examples.
Just mentioning c99 doesn't seem to help that much since IIRC no
version of GCC
actually implements all of c99 anyway. I actually am not really sure
what C99 features,
added after 2.95, we really need.
This is correct, since from my knowledge we only support gcc and more
recently clang. There aren't many other obj-c compilers around and AFAIk
we don't support them.
We can use -Wdeclaration-after-statement to get a post-2.95 GCC warn
you when you locally declare variables without starting a { } block.
Really not a problem - it's easy enough to add it to gnustep-base and
gnustep-gui.
We can do that, but fixing those is relatively trivial and personally I
like to have all declarations on top, it is much more readable.
Variadic Macros where an initial hurdle, but now I learned how to cope
with them, Easy it is just ugly to #ifdef the code.
These are the two recurrent things which I usually fix.
Then there is instead a nasty compiler bug, which is that forward
declarations of protocols is broken, but core avoids that cleanly up to now.
Riccardo
- Re: sync.m, Richard Frith-Macdonald, 2010/03/01
- Re: sync.m, David Chisnall, 2010/03/01
- Re: sync.m, Gregory Casamento, 2010/03/01
- Re: sync.m, Nicola Pero, 2010/03/01
- Re: sync.m,
Riccardo Mottola <=
- Re: sync.m, Richard Frith-Macdonald, 2010/03/03
- Re: sync.m, David Chisnall, 2010/03/03
- Re: sync.m, Riccardo Mottola, 2010/03/03
- Re: sync.m, David Chisnall, 2010/03/03
- Re: sync.m, Markus Hitter, 2010/03/05
- Re: sync.m, Vincent Richomme, 2010/03/05