[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers
From: |
Jes Sorensen |
Subject: |
Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers |
Date: |
Tue, 07 Oct 2008 09:13:25 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (X11/20080723) |
Andreas Färber wrote:
GCC is sufficiently C99 compliant to handle this style of initializers.
Maybe it's not C99 compliant enough for other stuff, but on this front
it does just fine.
You're missing the point: GCC today is not necessarily GCC 4.3+ or
whatever has just been released these days and included in your favorite
Linux distro. Just like Sun continues to ship GCC 3.4.3 on their latest
OpenSolaris builds, the BeOS world and therefore its successor(s) are
stuck with GCC 2.95.3 due to C++ ABI breakage in between major GCC
versions. GCC 2 was originally released in '98 iirc and hence not C99
compliant. I'd expect your IRIX to face a similar issue, at EOL.
Andreas,
I have sympathy with the BeOS users, however C99 style (not I am not
arguing that we necessarily need to require a full C99 compliant
compiler), are very common today and trying to stick to an ancient and
by now, far obsolete compiler, like 2.95.3 simply means that BeOS little
by little will not be able to compile any recent applications. The BeOS
community can try and battle every codebase being modernized or it can
put the efforts into updating it's compiler suite. Yes I know it's
painful, but I am going to argue it will be a better spent effort than
trying to hold back reality. It's a bit like argueing that everybody
must use candle lighting and not electrical because there are still a
few people living in houses which doesn't have any electricity.
One interim step could be for OSes like BeOS to switch to egcs or Red
Hat's old gcc-2.96 base. I believe both support C99 style struct
initializers while still sticking to the old C++ ABI.
FWIW, please don't try and use my email address as an indication that I
care about IRIX. If you do so, you obviously don't know me. That OS has
been dead for years and it's proprietary.
So while this argument for using C99 is flawed, there may be valid
reasons for QEMU to use more C99 constructs. But their pure availability
in the latest GCCs is not very convincing.
Well given that QEMU doesn't contain any C++, another option would be to
say we require at least gcc3 for QEMU and have BeOS users compile it
with gcc3. I don't see that affecting the issue with broken C++ ABIs.
Cheers,
Jes
- [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Jes Sorensen, 2008/10/06
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Johannes Schindelin, 2008/10/06
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Jes Sorensen, 2008/10/06
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Ronan Keryell, 2008/10/06
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Andreas Färber, 2008/10/06
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Paul Brook, 2008/10/06
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, M. Warner Losh, 2008/10/06
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Paul Brook, 2008/10/07
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers,
Jes Sorensen <=
- Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Andreas Färber, 2008/10/26
Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Thiemo Seufer, 2008/10/06
Re: [Qemu-devel] [patch 1/2] machine struct - use C99 initializers, Anthony Liguori, 2008/10/07