473,848 Members | 1,630 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

C++ standard compiler comparative study

Hi,
Anyone have a link to comparative study of different C++ compilers
and how much they conform to C++ language standard? Most of the big
platforms I know have GCC which well supports C++ standard. But mainly
looking for compilers for small platforms like ARM, XScale, OMAP
processors, and mobile OS's. I am not getting enough imformation which
of the platforms HAVE a C++ compiler/cross compiler and how much they
support C++ standard.
It may not be the proper group to ask the question, but someone might
have a link to some study regarding this. I am not even interested to
old compilers if a new one exists( like I dont bother whether VC6
supports C++ standard or not as GCC, VC7, VC8 exists for the platforms
and more or less well support C++ standard)
I have some C++ code runs well under linux using gcc 4 , which heavily
uses template (STL, Boost) based library and want to know what are the
platforms which will compile the code unmodified! Just want to know
how much portability I can make out of a standard C++!

Thanks
abir

Oct 20 '06 #1
6 2956
toton wrote:
Anyone have a link to comparative study of different C++ compilers
and how much they conform to C++ language standard? Most of the big
platforms I know have GCC which well supports C++ standard. But mainly
looking for compilers for small platforms like ARM, XScale, OMAP
processors, and mobile OS's. I am not getting enough imformation which
of the platforms HAVE a C++ compiler/cross compiler and how much they
support C++ standard.
It may not be the proper group to ask the question, but someone might
have a link to some study regarding this. I am not even interested to
old compilers if a new one exists( like I dont bother whether VC6
supports C++ standard or not as GCC, VC7, VC8 exists for the platforms
and more or less well support C++ standard)
I have some C++ code runs well under linux using gcc 4 , which heavily
uses template (STL, Boost) based library and want to know what are the
platforms which will compile the code unmodified! Just want to know
how much portability I can make out of a standard C++!
I have no study, but Texas Instruments has a pretty confomant compiler
(based on the EDG front-end, I think). It doesn't come with the
standard library, but you can use STLport.

Cheers! --M

Oct 20 '06 #2
toton wrote:
Hi,
Anyone have a link to comparative study of different C++ compilers
and how much they conform to C++ language standard? [...]
I don't have a link, but google for "standard compliance test C++".

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Oct 20 '06 #3

Victor Bazarov wrote:
toton wrote:
Hi,
Anyone have a link to comparative study of different C++ compilers
and how much they conform to C++ language standard? [...]

I don't have a link, but google for "standard compliance test C++".

V
--
Thanks for ther reply. These days I was doing some study on them based
on internet resources available. It looks most of the major platform
has a updated C++ compiler which supports all or most of the features
of C++ standard language features.
So it looks
x86, Linux/ *nix GCC 4.0 or above are good.
x86 Windows , VC7.1 & 8.0 are good.
XScale, StrongARM (Intel but not free! ) & GCC (not sure if they
support PocketPC ot Windows Mobile)
TI OMAP + WindowsMobile =Visual Studio Embedded , but dont support
all C++ features.
But for some processors, like Motorola, TI (C6000, C5000 etc) supports
only C.
Borland Free compiler is not ISO C++ std ... (But C++Builder 2006 may
be, I am not sure)
OpenWatcom isvery close to ISO standard.
Sun (SunStudio) & Apple both has a GCC clone with performance
improvement (?) and extra library support, and are close to C++ ISO
standard (However it looks Apple promotes more ObjectiveC rather than
C++ ! ).
DMC is one more for windows platform.
And Comeau Computing claims they can give a compiler on request for
any platform (esp embedded ) which has atleast a C compiler to compile
its source code! The claim may be perfectly valid, as they use the same
frontend parser and some IR (Just like GCC! ) , and it is very easy to
have a portable C compiler.
Still, there are a large number of embedded processors and
microcontroller s which either doesn't have a C++ compiler or have a
non-standard C++ compiler ,most of them will support C (and I know why!
given a weeks time, I can write a C compiler for a platform which is
more than a toy! but can't for C++ where the parser and language
construct is extremely complex! ) .
Thanks to both of you for the replies. Hope somebody will put a network
resource of all available platforms with C++ compiler and how much they
recognize C++ standard.
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask
Oct 23 '06 #4
In article <11************ **********@b28g 2000cwb.googleg roups.com>,
toton <ab*******@gmai l.comwrote:
>toton wrote:
Anyone have a link to comparative study of different C++ compilers
and how much they conform to C++ language standard? [...]

But for some processors, like Motorola, TI (C6000, C5000 etc) supports
only C.
But: :}
>And Comeau Computing claims they can give a compiler on request for
any platform (esp embedded ) which has atleast a C compiler to compile
its source code! The claim may be perfectly valid, as they use the same
frontend parser and some IR (Just like GCC! ) , and it is very easy to
have a portable C compiler.
It's not easy, but there is at least often a fighting chance :)
>Still, there are a large number of embedded processors and
microcontrolle rs which either doesn't have a C++ compiler or have a
non-standard C++ compiler ,most of them will support C
But see above again :)
(and I know why!
given a weeks time, I can write a C compiler for a platform which is
more than a toy! but can't for C++ where the parser and language
construct is extremely complex! ) .
IMO a toy C compiler cannot be a C compiler 8}
A C compiler is a few man years of work.
--
Greg Comeau / 20 years of Comeauity! Intel Mac Port now in beta!
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?
Oct 23 '06 #5

Greg Comeau wrote:
In article <11************ **********@b28g 2000cwb.googleg roups.com>,
toton <ab*******@gmai l.comwrote:
toton wrote:
Anyone have a link to comparative study of different C++ compilers
and how much they conform to C++ language standard? [...]
But for some processors, like Motorola, TI (C6000, C5000 etc) supports
only C.

But: :}
I am not sure what you exactly want to say (I don't know meaning of the
emotion) . But my point is that, for several microcontroller s I am not
finding any C++ compiler (though many of them has a C compiler, some
open-source like SDCC project).
And Comeau Computing claims they can give a compiler on request for
any platform (esp embedded ) which has atleast a C compiler to compile
its source code! The claim may be perfectly valid, as they use the same
frontend parser and some IR (Just like GCC! ) , and it is very easy to
have a portable C compiler.
In today's world if a microprocessor exists, one can assume a C
compiler exists. Isn't it? I think when a company plans for a new
microprocessor, it chooses an ISA as a first job, and designs a C
cross-compiler for that. Who writes substantial assembly code today!
It's not easy, but there is at least often a fighting chance :)
Yes. But it is the best way to do it, and the chance is pretty high.
That is why GCC and Comeau is doing it, and most of the Post C++
languages comes with a runtime and its own IR representation.
Still, there are a large number of embedded processors and
microcontroller s which either doesn't have a C++ compiler or have a
non-standard C++ compiler ,most of them will support C

But see above again :)
Again, not getting your point.
(and I know why!
given a weeks time, I can write a C compiler for a platform which is
more than a toy! but can't for C++ where the parser and language
construct is extremely complex! ) .

IMO a toy C compiler cannot be a C compiler 8}
A C compiler is a few man years of work.
--
Yes, definitely. That is the difference between toy and real! But most
of the time must be in optimization, not in parsing. And can you
compare it with the effort given for a C++ compiler? Is it of same
order or of a higher order?
Greg Comeau / 20 years of Comeauity! Intel Mac Port now in beta!
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?
My point is just to have a study about how much C++ compilers conform
to the standard. And if they don't, what is the reason (is it the
evolving process of C++ standard, or the complexity of the parser and
the language). It is difficult to MACROING the code everywhere to make
it work for 5-6 different platform. The problem is minimal or nil for
most of the languages (like FORTRAN, C, PASCAL, Java, C# , LISP, Perl,
Python, PHP etc). But surprisingly it exist till today in almost all of
the major vendors of C++ compiler. And the result is some code where
MACROS dominate (Even Boost or STLPort is full of macro, forget about
QT MOC,and wxWidgets MACROS) . So my point is knowing the present
status of the C++ compilers and if they falls sort of standard, the
reason.
Thanks for hearing some experience from a real compiler writer! The
group is really superb!

Oct 24 '06 #6
In article <11************ *********@m7g20 00cwm.googlegro ups.com>,
toton <ab*******@gmai l.comwrote:
>Greg Comeau wrote:
>In article <11************ **********@b28g 2000cwb.googleg roups.com>,
toton <ab*******@gmai l.comwrote:
>toton wrote:
Anyone have a link to comparative study of different C++ compilers
and how much they conform to C++ language standard? [...]

But for some processors, like Motorola, TI (C6000, C5000 etc) supports
only C.

But: :}
I am not sure what you exactly want to say (I don't know meaning of the
emotion) . But my point is that, for several microcontroller s I am not
finding any C++ compiler (though many of them has a C compiler, some
open-source like SDCC project).
I just meant to point to the paragraph below.
>And Comeau Computing claims they can give a compiler on request for
any platform (esp embedded ) which has atleast a C compiler to compile
its source code! The claim may be perfectly valid, as they use the same
frontend parser and some IR (Just like GCC! ) , and it is very easy to
have a portable C compiler.
In today's world if a microprocessor exists, one can assume a C
compiler exists. Isn't it?
Usually.
I think when a company plans for a new
microprocessor , it chooses an ISA as a first job, and designs a C
cross-compiler for that. Who writes substantial assembly code today!
Sure.
>It's not easy, but there is at least often a fighting chance :)
Yes. But it is the best way to do it, and the chance is pretty high.
That is why GCC and Comeau is doing it, and most of the Post C++
languages comes with a runtime and its own IR representation.
Sure.
>Still, there are a large number of embedded processors and
microcontrolle rs which either doesn't have a C++ compiler or have a
non-standard C++ compiler ,most of them will support C

But see above again :)
Again, not getting your point.
Just again pointing out what you wrote ("Comeau... can give a compiler
on request...").
(and I know why!
given a weeks time, I can write a C compiler for a platform which is
more than a toy! but can't for C++ where the parser and language
construct is extremely complex! ) .

IMO a toy C compiler cannot be a C compiler 8}
A C compiler is a few man years of work.
--
Yes, definitely. That is the difference between toy and real!
Well, kind of. That is, either you're writing a subset of
the language, or you're not.
>But most
of the time must be in optimization, not in parsing.
One would think so, but then parsing stuff always pops up.
In short, it's always harder than one thinks.
And can you
compare it with the effort given for a C++ compiler? Is it of same
order or of a higher order?
Higher of course.
>My point is just to have a study about how much C++ compilers conform
to the standard. And if they don't, what is the reason (is it the
evolving process of C++ standard, or the complexity of the parser and
the language).
I think it's all the above, and then some. Some vendors wait
for a standard to be standardized before implementing it.
Others, have research and/or real works in progress on parts,
all along. Others, may have technical obstables. Others,
have marketing obstacles. And so on. I've foudn that the
reason is often that the sky is the limit. It's just like
any other project I guess.
>It is difficult to MACROING the code everywhere to make
it work for 5-6 different platform.
Always is.
>The problem is minimal or nil for
most of the languages (like FORTRAN, C, PASCAL, Java, C# , LISP, Perl,
Python, PHP etc).
I never found that to be the case.
>But surprisingly it exist till today in almost all of
the major vendors of C++ compiler.
I find it to be a universal problem, though clearly not always exactly
equal and each language with its own set of pros/cons wrt this.
>And the result is some code where
MACROS dominate (Even Boost or STLPort is full of macro, forget about
QT MOC,and wxWidgets MACROS) . So my point is knowing the present
status of the C++ compilers and if they falls sort of standard, the
reason.
I doubt you'll ever get to hear all the reasons.
--
Greg Comeau / 20 years of Comeauity! Intel Mac Port now in beta!
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?
Oct 25 '06 #7

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

Similar topics

57
4034
by: Piotr Wolski | last post by:
how to make my page that it was correct with every browser standard? for example when i change HTML's table size it has no effect when i see it under mozilla and has effect under Internet explorer-does anyone know how to solve that problem??
11
6708
by: Chris Mantoulidis | last post by:
Out of curiosity, I wanted to test executable file sizes of the same program from different compilers... The 2 compilers I tested (both old, on purpose) were Borland C++ 3.1 and DJGPP 2.03... The program was nothing but a simple hello world program using the iostream header file... I compiled and linked (both copies) with those 2 different
2
1329
by: bweaver4usenet | last post by:
Please help me choose a compiler and environment for commercial software development in C++... Either a compiler I currently own, can upgrade to, or something else entirely. I'm primarily interested in standards adherance, debugging support, and fast code, plus I'm somewhat price-conscious. I'd be developing for Windows, but would like to be able to build apps for Mac and possibly Linux without too much rework. Either I'm googling wrong,...
43
5046
by: Steven T. Hatton | last post by:
Now that I have a better grasp of the scope and capabilities of the C++ Standard Library, I understand that products such as Qt actually provide much of the same functionality through their own libraries. I'm not sure if that's a good thing or not. AFAIK, most of Qt is compatable with the Standard Library. That is, QLT can interoperate with STL, and you can convert back and forth between std::string and Qt::QString, etc. Are there any...
6
5586
by: FireHawkBr® | last post by:
Hi, My company uses Informix as corporative database. As experienced DBA of the company, I have that to make a study comparing Oracle, Informix and DB2 databases and suggesting new alternatives. I have 10 years of experience with Oracle, 2-3 year with DB2 UDB and few experience with Informix (there are anothers DBAs that manage Informix here). Anyone have any kind of comparative ? Or personal opinions that whom good experience with DBs.
9
1440
by: Edward Diener | last post by:
Are there any differences between the version of C++/CLI as implemented in Visual C++ 2005 and the ECMA-372 C++/CLI Language Specification of December 2005 freely downloaded from ECMA ? Asking this on MS's web forums brought the reply that only an MS VC++ Compiler Team person would be able to answer this question, but I am hoping that someone here might know or point me to a web page which can answer my question. I think it is really...
5
2396
by: wkaras | last post by:
I've compiled this code: const int x0 = 10; const int x1 = 20; const int x2 = 30; int x = { x2, x0, x1 }; struct Y {
56
3146
by: Chris Hills | last post by:
Hi, It came up in a standards panel meeting the other day that "all c or C++ programmers" have a copy of ISO C and/or C++ ... I challenged this and said most don't (outside those working on the standards). Well, do most of you have a copy of the relevant ISO language standard of your own or is there one on your desk at work?
16
2753
by: Bunny.Joy | last post by:
Hi, I know that some granddaddy-level C++ compiler can compile C++ code into a C intermediate. Apart from that, however, I can not find any modern compiler to do that. And in fact, I think, this factor is very pragmatical for a C programmer to learn Java more effectively. Any one can give me some information on that ? Tools, compilers or other methods applicable are all attractive to me. But where to get them?
0
9892
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9735
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10997
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10661
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10718
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
9497
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
7067
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5731
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5917
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

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.