C++ Compiler Comparison Chart
Ross Smith
The Internet Group
26 Oct 2000
Disclaimer:
Absolutely no responsibility is accepted for anything written here. If you pay attention to any of this and end up with software that sets fire to your computer, transfers a billion dollars from your company to a mysterious Swiss bank account, and/or starts World War III, tough shit, that's your problem. Applying your eyeballs to this page constitutes agreement to these terms. So there.	
Contributions
Further contributions to this page are solicited; please send them to me at <ross.s@ihug.co.nz>. You must provide an address (email or web) that I can link your contribution to, so readers will know who to blame.
Please note that this is intended only as a rough, quick-reference guide. Something that gave detailed information about the specific limitations of each compiler, with test cases and so on, would certainly be very useful, but I just don't have the time to spare to go to that much trouble. (If anyone wants to provide more detailed information about a particular compiler on a page of their own, let me know and I'll insert a link to it.)
Scoring
•	-- = The feature is not present in any form 
•	* = A token attempt at the feature is made, but it's so incomplete or buggy as to be unusable in any practical sense 
•	** = Basic support for the feature is present and usable, but significant aspects are still missing or buggy 
•	*** = The feature is well supported, although a few minor aspects are not quite right 
•	**** = The feature seems to be completely standard compliant 
Abbreviations
•	[def] = This is the library that comes by default with the compiler 
•	[multi-os] = Available for multiple operating systems 
•	[unix] = Available for multiple versions of Unix/Posix 
•	[no-std] = No standard library comes with the compiler 
•	[obs] = This version is obsolete; a later version is also documented 
•	N/A = Not applicable 
•	T/C = Template class 
•	T/F = Template function 
C++ Compiler Comparison Chart
Manufacturer	Comeau	DERA	FSF	FSF	FSF	Kuck & Associates	Metrowerks	Microsoft	Sun	Apple Computer	
Compiler	Comeau C/C++	TenDRA	GCC	GCC	GCC	KAI C++	Codewarrior Pro	Visual C++	Sun Workshop	Mr Cpp	
Version	4.2.44	4.1.2	2.7.2 [obs]	EGCS 1.1.2 [obs]	2.95.2	3.4	4.0	5.0/6.0	5.0	5.0d1	
Library	SGI	[no-std]	HP STL	Libstdc++2 [def]	Libstdc++2 [def]	Modena derivative [def]	Metrowerks [def]	Dinkum [def]	Rogue Wave [def]	Apple MPW [def]
+ STLPort 4	
Operating system	[multi-os]	[unix]	[multi-os]	[multi-os]	[multi-os]	[unix]	[multi-os]	Win32	Solaris	MacOS 9	
Contributors	Greg Comeau	Martin von Loewis	Ross Smith	Ross Smith	Ross Smith	Bruce Leasure	Darin Adler;
Gargantua Blargg;
Gabor Greif	Ross Smith	Martin von Loewis	Ira L. Rubin
Fred Forsman
Tsutomu Yoshida	
Core language											
Bool	****	****	--	****	****	****	****	****	****	****	
Covariant return	****	****	--	***	****	****	***	--	****	****	
Exceptions	****	****	**	***	****	****	***	***	****	***	
Explicit	****	****	--	****	****	****	****	****	*	****	
Export	--	*	--	--	--	--	--	--	--	--	
For scope	****	****	--	****	****	****	****	*	****	****	
Koenig lookup	****	****	--	***	***	****	****	--	***	****	
Namespaces	****	****	--	****	****	****	***	***	?	****	
New throws	****	--	--	****	****	****	****	*	?	--	
RTTI	****	****	--	***	***	****	****	***	?	****	
Template basics	****	****	**	****	****	****	***	****	****	****	
Template as parameter	****	****	--	***	***	--	--	--	--	***	
T/C partial specialisation	****	****	--	****	****	****	****	--	--	--	
T/F explicit arguments	****	****	--	****	****	****	****	--	--	****	
T/F partial ordering	****	****	--	***	***	****	****	--	--	--	
T/F members	****	****	--	****	****	****	**	**	--	****	
Typename	****	****	--	****	****	****	****	***	**	****	
Standard library											
Auto_ptr	****	N/A	--	--	***	****	****	**	***	****	
Exception hierarchy	****	N/A	--	****	****	****	****	****	****	****	
Iostream templates	****	N/A	--	--	--	****	****	****	****	****	
Locales	***	N/A	--	--	--	**	***	***	***	****	
Namespace std	****	N/A	--	**	**	****	***	**	****	****	
Numeric_limits	****	N/A	--	*	*	****	****	****	****	****	
STL algorithms	****	N/A	**	****	****	****	****	***	****	****	
STL containers	****	N/A	**	****	****	****	****	***	***	****	
STL iterators	****	N/A	**	**	**	****	****	***	***	****	
String class	****	N/A	*	***	***	****	****	****	****	****	
String streams	****	N/A	**	**	**	****	****	****	****	****	
String template	****	N/A	--	*	*	****	****	****	***	****	
Valarray	***	N/A	--	***	***	****	****	****	****	****