User forums > General (but related to Code::Blocks)

Quick&dirty C++ language conformance tests

<< < (3/6) > >>

Michael:

--- Quote from: thomas on December 16, 2005, 09:22:20 pm ---I think this comparison (although still in favour to gcc) is quite unfair. They compare a 3 year old version of gcc with the current release of DM and the current release of Microsoft Visual C++. However, it makes me smile that gcc still beats them.

--- End quote ---

Yes, I have remarked too that the GCC version was relatively old, but the C++ conformance is a surprise :). I have though that Visual Studio 2005 had a better conformance, especially after all the bla bla of M$. But in the real not :?. I just wonder how could be the conformance of a latest GCC version (and also of the unix GCC original version).


--- Quote from: me22 on December 17, 2005, 08:59:04 pm ---Gotta love that of the C++ tests, MinGW ( not even native g++ ) only fails 2, one of which is "throwing destructor" which you shouldn't ever be using anyways.

And what a surprise, the old mingw fails C++0x extension tests *rolls eyes*

--- End quote ---

I also like such tests :D. When I have some free time, I search in Internet some comparison between C++ and other languages (recently I have found an interesting comparision/fight between C++ and Fortran. Fortran is much better than C++, C++ is not so OOP, C++ is quite a dead language,... :)).

Anyway, I suppose that C++0x are too new stuff for the old GCC used in the tests. Visual Studio 2005 also do not that better. It shoulds, at least theoretically...Na ja, M$ is full of surprises :).

Michael

Urxae:

--- Quote from: me22 on December 17, 2005, 08:59:04 pm ---
--- Quote from: Michael on December 16, 2005, 02:45:09 pm ---I have found this website which provides quick&dirty C++ language conformance tests for the Win32 platform. As C::B supports them, this website could be useful for deciding which compiler is best suitable for a specific project.

--- End quote ---

Gotta love that of the C++ tests, MinGW ( not even native g++ ) only fails 2, one of which is "throwing destructor" which you shouldn't ever be using anyways.

--- End quote ---

Note that at the top he mentions he's evaluating compilers for Win32. Native g++ doesn't qualify, mingw32-g++ does.
That said:

--- Code: ---D:\Temp>(g++ throwing_destructor.cpp -o throwing_destructor.exe && throwing_destructor.exe && echo Success ) || echo Failure
Success

D:\Temp>(g++ friend_name_injection.cpp -o friend_name_injection.exe && friend_name_injection.exe && echo Success ) || echo Failure
Failure

D:\Temp>g++ --version
g++ (GCC) 3.4.2 (mingw-special)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
--- End code ---

(Note: this isn't the latest version, but it's all I have at the moment)
So even though you normally shouldn't be throwing from destructors, by now it's handled correctly if it happens anyway.
Indeed weird that they use MSVC 2005, but such an old MinGW when 2004+ versions are available.

Michael:
Just for curiosity, I have tried to build the tests on C++ Language Features that failed with MinGW and I could build:


* throwing destructor
* friend name injection
* right angle brackets
The other tests still fail :(. Anyway, there are improvments :).

I used mingw32-g++.exe that come with C::B RC2 (gcc version 3.4.4 (mingw special)).

Michael

Urxae:

--- Quote from: Michael on December 18, 2005, 01:36:48 am ---Just for curiosity, I have tried to build the tests on C++ Language Features that failed with MinGW and I could build:


* throwing destructor
* friend name injection
* right angle brackets
The other tests still fail :(. Anyway, there are improvments :).

--- End quote ---

You realize they shouldn't just build but also return a non-zero exit code when you run them, right?

Michael:

--- Quote from: Urxae on December 18, 2005, 02:05:21 am ---You realize they shouldn't just build but also return a non-zero exit code when you run them, right?

--- End quote ---

Yes, at least two of them do it. Let me check the missing one.

Michael

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version