473,324 Members | 2,178 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,324 software developers and data experts.

Is there any new C++ compiler standard conformance test result?

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I saw cuj's conformance roundup, but the result is quite old. I think
many people like me want to know newer c++ standard conformance test
result. Especially, I want to know the compiler conformance of vc7.1,
vc8.0, gcc 4.x and intel c++, and also each implementation of STL. The
world is moving on, right? :)

Thanks.

Dancefire
???
CCNA
http://www.dancefires.com/
http://blog.csdn.net/dancefire/
MSN: da*******@263.net
I am interested in Operating System, Embedded System and Network Security.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFDbpaERS5AkKgtcCcRAhLaAKCqdH2hhqpNNeGG4y8it6 b4qYdbqQCggSAH
ofGLUJUDdVQsPvsPK5ncb4k=
=WQkH
-----END PGP SIGNATURE-----
Nov 6 '05 #1
7 3080
Tao Wang wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I saw cuj's conformance roundup, but the result is quite old. I think
many people like me want to know newer c++ standard conformance test
result. Especially, I want to know the compiler conformance of vc7.1,
vc8.0, gcc 4.x and intel c++, and also each implementation of STL. The
world is moving on, right? :)


Well, it's always possible that cuj will publish another survey. In the
meantime, a fairly good barometer of compiler compliance would probably
be the Boost Release summary: (http://tinyurl.com/7aq2t - be patient,
page takes awhile to load), The information though has to be mined from
these build reports. Figuring out the limitations of particular
compiler requires sifting through the failures and error messages to
understand the problem.

Alternately, much can be learned from most compilers' documentation -
although again it is often necessary to consult extensive release notes
for the latest information. Compiler vendors for competitive reasons
may not always wish to highlight areas that put them at a competitive
disadvantage vis-a-vis other compilers. I'm not suggesting that there
is anything untoward in doing so, and indeed compiler makers tend to be
remarkably forthcoming about the features and limitations of their
products, at least in my limited experience.

And lastly I would note that the best conformance suites are likely to
be commercial. When I worked for a C embedded systems compiler company,
each release of the compiler was tested against the Plum Hall
validation suite - a series of tortuous tests designed to thoroughly
vet the compiler's ANSI C's conformance. Needless to say, the results
of a run were used to fix bugs in the compiler before its release; so
the company had every reason to keep these results private.
Furthermore, Plum Hall put a lot of work and a lot of expertise into
writing their test suites and, given the small size of the market for C
and C++ test suites in general, they are probably too expensive for
anyone other than a compiler maker to license.

Greg

Nov 7 '05 #2
In article <8E******************@news-server.bigpond.net.au>,
Tao Wang <da*******@gmail.com> wrote:
I saw cuj's conformance roundup, but the result is quite old. I think
many people like me want to know newer c++ standard conformance test
result. Especially, I want to know the compiler conformance of vc7.1,
vc8.0, gcc 4.x and intel c++, and also each implementation of STL. The
world is moving on, right? :)


I have prodded a number of publications to do said, but
as with any ongoing project, that can take considerable work,
and so it never materializes. Even when smaller scopes,
and different themes to consider, are mentioned.
--
Greg Comeau / Celebrating 20 years of Comeauity!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Nov 7 '05 #3
In article <11**********************@f14g2000cwb.googlegroups .com>,
Greg <gr****@pacbell.net> wrote:
a fairly good barometer of compiler compliance would probably
be the Boost Release summary....


The Boost folks themselves disagree with such a statement,
so we should too.
--
Greg Comeau / Celebrating 20 years of Comeauity!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Nov 7 '05 #4
Greg Comeau wrote:
In article <11**********************@f14g2000cwb.googlegroups .com>,
Greg <gr****@pacbell.net> wrote:
a fairly good barometer of compiler compliance would probably
be the Boost Release summary....


The Boost folks themselves disagree with such a statement,
so we should too.


Granted, the purpose of the Release pages is not to test compiler
compliance, nor do the Boost libraries provide any type of systematic
test coverage. Furthermore the compiler is not the only tool used in a
build, so a failure may be a problem with the linker, for example. As I
tried to communicate in my original post, the information here is quite
raw. To find data that would help answer the poster's question would
require carefully sifting through all of these results and would
necessarily entail discarding a lot of irrelevant information.

Nevertheless, it would be difficult to assemble another set of C++
source files on one's own that would make use of so many advanced
language features as the do the Boost libraries. So it must be possible
to learn something about a compiler by having it build this set of
libraries. How useful that information may be is another matter.
Certainly, it's unlikely that one's own code would look much like a
Boost library, so it is valid to argue that any information gleaned
from the Boost build results is of academic interest. In strictly
practical terms, I doubt it makes much difference to the average C++
programmer whether:
boost::wave::cpplexer::lex_input_interface<boost:: wave::cpplexer::lex_token<T2>>
*boost::wave::cpplexer::new_lexer_gen<T1, T2>::new_lexer(
const T1 &,
const T1 &,
const T2 &,
boost::wave::language_support)
[with T1=char *,
T2=boost::wave::util::file_position<boost::wave::u til::
flex_string<char, std::char_traits<char>,
std::allocator<char>,
boost::wave::util::CowString<boost::wave::util::
AllocatorStringStorage<char,std::allocator<char>>, char
*>>>

is multiply-defined or not.

But with the maturity of today's C++ compilers, the issue of language
compliance really has been pushed to the more esoteric language
constructs. The days when compiling "hello, world" in order to
reasonably assess a C++ compiler have passed. Granted there are easier
ways to answer the question than sifting through reams of build logs,
but if those methods are not readily available, then answering the
question can still be done I believe, but it would require a lot of
work.

Greg

Nov 7 '05 #5
In article <11**********************@g49g2000cwa.googlegroups .com>,
Greg <gr****@pacbell.net> wrote:
Greg Comeau wrote:
In article <11**********************@f14g2000cwb.googlegroups .com>,
Greg <gr****@pacbell.net> wrote:
>a fairly good barometer of compiler compliance would probably
>be the Boost Release summary....
The Boost folks themselves disagree with such a statement,
so we should too.


Granted, the purpose of the Release pages is not to test compiler
compliance, nor do the Boost libraries provide any type of systematic
test coverage. Furthermore the compiler is not the only tool used in a
build, so a failure may be a problem with the linker, for example.


Yes, that can be so. But...
As I
tried to communicate in my original post, the information here is quite
raw. To find data that would help answer the poster's question would
require carefully sifting through all of these results and would
necessarily entail discarding a lot of irrelevant information.
.... you did communicate that originally, and it's a leap that
does not exist.
Nevertheless, it would be difficult to assemble another set of C++
source files on one's own that would make use of so many advanced
language features as the do the Boost libraries.
Probably, but that's a very different issue.
So it must be possible
to learn something about a compiler by having it build this set of
libraries.
Sure, but again, a different issue.
How useful that information may be is another matter.
Exactly.
The days when compiling "hello, world" in order to
reasonably assess a C++ compiler have passed.
Even though that drags in "tons" of stuff,
that could never reasonable access a C++ compiler.
What it did was give a quick and gentle indication
if there was even a fighting chance in that direction.
Granted there are easier
ways to answer the question than sifting through reams of build logs,
but if those methods are not readily available, then answering the
question can still be done I believe, but it would require a lot of
work.


The Boost folks themselves disagree with such a statement,
so we should too.
--
Greg Comeau / Celebrating 20 years of Comeauity!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
Nov 7 '05 #6
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Greg Comeau wrote:
In article <11**********************@g49g2000cwa.googlegroups .com>,
Greg <gr****@pacbell.net> wrote:
Greg Comeau wrote:
In article <11**********************@f14g2000cwb.googlegroups .com>,
Greg <gr****@pacbell.net> wrote:

a fairly good barometer of compiler compliance would probably
be the Boost Release summary....

The Boost folks themselves disagree with such a statement,
so we should too.


Granted, the purpose of the Release pages is not to test compiler
compliance, nor do the Boost libraries provide any type of systematic
test coverage. Furthermore the compiler is not the only tool used in a
build, so a failure may be a problem with the linker, for example.

Yes, that can be so. But...

As I
tried to communicate in my original post, the information here is quite
raw. To find data that would help answer the poster's question would
require carefully sifting through all of these results and would
necessarily entail discarding a lot of irrelevant information.

... you did communicate that originally, and it's a leap that
does not exist.

Nevertheless, it would be difficult to assemble another set of C++
source files on one's own that would make use of so many advanced
language features as the do the Boost libraries.

Probably, but that's a very different issue.

So it must be possible
to learn something about a compiler by having it build this set of
libraries.

Sure, but again, a different issue.

How useful that information may be is another matter.

Exactly.

The days when compiling "hello, world" in order to
reasonably assess a C++ compiler have passed.

Even though that drags in "tons" of stuff,
that could never reasonable access a C++ compiler.
What it did was give a quick and gentle indication
if there was even a fighting chance in that direction.

Granted there are easier
ways to answer the question than sifting through reams of build logs,
but if those methods are not readily available, then answering the
question can still be done I believe, but it would require a lot of
work.

The Boost folks themselves disagree with such a statement,
so we should too.


Thanks Greg and Greg Comeau for answers.

Boost compiler release page is good for overview of the compiler but not
good enough I think.

In cuj's conformance roundup, Herb Sutter used Dinkumware, Perennial and
Plum Hall's test case tools for help to get the result. I think they are
more objective to the truth. I prefer the style of Perennial and Plum
Hall, they try to make a whole list of C++ feature according to the C++
Standard Document.

If there is a test case set provided by C++ Standard committee, it
should make developer much easizer to have more clear concept of current
using compiler ability. What it can do, what is cannot do.

But today, it's not open, maybe only linguist know the real different
between each compiler or library. For user or normal developer ,it's not
clear enough. Only way to know the limits of compiler is I do something
which I really sure it should correct, and it doesn't work. or it worked
on some other compiler, but this time it doesn't work. It will comfuse
some beginners to learn the modern features of C++.

If we have a open c++ standard conformance test tools, it will much
clear to know the current using compiler, and will help us choosing
between the compiler.

Thanks.

Dancefire
- --
CCNA
http://www.dancefires.com/
http://blog.csdn.net/dancefire/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFDb0+eRS5AkKgtcCcRAn5YAKCw2t8+CfKngfEa522wxW lqnSZ/xACfYSoV
D5n+Ky9uAMKUoVqS7GPLTRk=
=dV4s
-----END PGP SIGNATURE-----
Nov 7 '05 #7
"Tao Wang" <da*******@gmail.com> wrote in message
news:Jc******************@news-server.bigpond.net.au...
Thanks Greg and Greg Comeau for answers.

Boost compiler release page is good for overview of the compiler but not
good enough I think.

In cuj's conformance roundup, Herb Sutter used Dinkumware, Perennial and
Plum Hall's test case tools for help to get the result. I think they are
more objective to the truth. I prefer the style of Perennial and Plum
Hall, they try to make a whole list of C++ feature according to the C++
Standard Document.
Agreed. It's difficult to get any published results of Plum Hall and
Perennial tests, but you can see the results of our library tests at
our web site. They're nearly three years old now, and we're about to
update them, but the results have changed remarkably little. STLport
and Rogue Wave have been stagnant for years, while libstdc++ is
improving slowly. Only the Dinkumware C99 and C++ libraries score
anywhere near 100 per cent on conformance. (We fail none of our own
tests, of course, and just a handful of Perennial C++ tests -- because
of compiler bugs.) Since the other C++ libraries depends on existing
C libraries, they fare particularly poorly on tests for the C
enhancements required by the C++ Standard.

As for the C++ language, it should be well known by now that gcc and
VC++ V7.1/V8.0 score high on conformance, except that neither implements
separate compilation of templates. Only the Edison Design Group front
end does, and it gets essentially perfect scores on the validation
suites. You'll find the EDG front end in quite a few commercial compilers
out there.
If there is a test case set provided by C++ Standard committee, it
should make developer much easizer to have more clear concept of current
using compiler ability. What it can do, what is cannot do.
There are a gazillion reasons why the C and C++ committees will never
issue validation suites. The sheer amount of work involved is daunting,
and the politics is nearly insurmountable.
But today, it's not open, maybe only linguist know the real different
between each compiler or library. For user or normal developer ,it's not
clear enough. Only way to know the limits of compiler is I do something
which I really sure it should correct, and it doesn't work. or it worked
on some other compiler, but this time it doesn't work. It will comfuse
some beginners to learn the modern features of C++.
That is indeed one of the drawbacks of a complex language.
If we have a open c++ standard conformance test tools, it will much
clear to know the current using compiler, and will help us choosing
between the compiler.


There *are* test suites available for things like gcc, libstdc++,
and STLport. Unfortunately, they're more in the nature of regression
tests for their respective products. Try them on a different
compiler or library and you'll get all sorts of false failures
because of dialect issues. They're also a bit thin and spotty, IMO.

P.J. Plauger
Dinkumware, Ltd.
http://www.dinkumware.com
Nov 7 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

11
by: spipyeah | last post by:
Is there a collection of C++ source files that can be used to test compiler compliancy by using really extreme language cases, making sure the standard library is complete, and other such things?
233
by: E. Robert Tisdale | last post by:
I have access to a wide variety of different platforms here at JPL and they all have pretty good C 99 compilers. Some people claim that they have not moved to the new standard because of the...
43
by: Anitha | last post by:
Hi I observed something while coding the other day: if I declare a character array as char s, and try to use it as any other character array..it works perfectly fine most of the times. It...
33
by: Nikhil Bokare | last post by:
I wanted a C++ compiler which would follow the ANSI C++ standards. If you could tell me an IDE also, it would be more helpful. Thanks.
41
by: Miroslaw Makowiecki | last post by:
Where can I download Comeau compiler as a trial version? Thanks in advice.
27
by: Dave | last post by:
I'm having a hard time tying to build gcc 4.3.1 on Solaris using the GNU compilers. I then decided to try to use Sun's compiler. The Sun Studio 12 compiler reports the following code, which is in...
87
by: rufus | last post by:
Is there a C-compiler (and for that matter C++ compiler) for windows that can be run from the commmand line?
159
by: bernard | last post by:
howdy! please recommend a good c compiler. - should be small - should be fast - should come with a good ide - should be inexpensive i am using windows os.
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.