Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_34_1/status/compiler_status.html @ 35

Last change on this file since 35 was 29, checked in by landauf, 16 years ago

updated boost from 1_33_1 to 1_34_1

File size: 9.3 KB
Line 
1<html>
2
3<head>
4<meta http-equiv="Content-Type"
5content="text/html; charset=iso-8859-1">
6<meta name="ProgId" content="FrontPage.Editor.Document">
7<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
8<title>Boost Compiler Status Report</title>
9</head>
10
11<body bgcolor="#FFFFFF" text="#000000">
12
13<table border="1" cellpadding="2" bgcolor="#007F7F">
14    <tr>
15        <td bgcolor="#FFFFFF"><img src="../boost.png"
16        alt="boost.png (6897 bytes)" width="277" height="86"></td>
17        <td><a href="../index.htm"><font color="#FFFFFF" size="4"
18        face="Arial">Home</font></a></td>
19        <td><a href="../libs/libraries.htm"><font color="#FFFFFF"
20        size="4" face="Arial">Libraries</font></a></td>
21        <td><a href="../people/people.htm"><font color="#FFFFFF"
22        size="4" face="Arial">People</font></a></td>
23        <td><a href="../more/faq.htm"><font color="#FFFFFF"
24        size="4" face="Arial">FAQ</font></a></td>
25        <td><a href="../more/index.htm"><font color="#FFFFFF"
26        size="4" face="Arial">More</font></a></td>
27    </tr>
28</table>
29
30<h1>Compiler Status Tables</h1>
31
32<p><a href="http://boost.sourceforge.net/regression-logs/">Compiler Status
33Summary</a> (on SourceForge) of Boost regression test results.<br>
34<a href="#Introduction">Introduction</a><br>
35<a href="#Understanding">Understanding the Tables</a><br>
36<a href="#Acknowledgements">Acknowledgements</a></p>
37
38<h2><a name="Introduction">Introduction</a></h2>
39
40<p>Will all Boost libraries work with your compiler?&nbsp;
41Unfortunately, the answer is &quot;it depends&quot;. See the
42<a href="http://boost.sourceforge.net/regression-logs/">Compiler Status Summary</a> 
43to see exactly what works and what doesn't.</p>
44
45<p>Boost libraries rely on modern C++ features such as templates
46and the C++ Standard Library.&nbsp; Most modern compilers support
47those major features fairly well. But even today, years after the
48adoption of the C++ Standard, some compilers still don't support
49important minor features like partial template specialization.</p>
50
51<p>Boost library authors often expend a great deal of effort
52trying to work around compiler deficiencies.&nbsp; Nevertheless,
53some libraries will not compile at all with certain compilers or
54may have crippled functionality.&nbsp; Even if the current
55release of a compiler supports a boost library, older versions of
56the compiler may not work properly.</p>
57
58<p>Boost releases are run through <a href="../more/regression.html">regression
59tests</a> which
60automatically generates Compiler Status Tables for various
61platforms. Unless otherwise indicated, the C++ Standard Library
62implementation is the one shipped with the compiler.</p>
63
64<p><b>Warnings:</b></p>
65
66<ul>
67  <li>These tables are not a good indication of a
68particular compiler's compliance with the C++ Standard.&nbsp; The
69Boost libraries often contain workarounds which mask compiler
70deficiencies.<br>
71&nbsp;</li>
72  <li>Some regression tests are run only occasionally, and so are relatively
73  out-of-date.&nbsp; Check the date for each table.</li>
74</ul>
75
76<p><a name="quick-reference"></a>The
77<a href="http://boost.sourceforge.net/regression-logs/">Compiler Status Summary</a> 
78includes table summaries for specific releases, as well as table summaries for
79recent <a href="../more/getting_started.html#CVS">CVS</a> snapshots. Release
80tables are identified by the release number appended to the table name. CVS
81snapshot tables do not have a release number appended.</p>
82
83<p>The <a href="../more/getting_started.html#CVS">CVS</a> 
84code is being updated several times a day, so it may contain bug fixes, compiler
85workarounds, new features, and even whole new libraries. It may be unstable,
86however.</p>
87
88<h2><a name="Understanding">Understanding</a> the Tables</h2>
89
90<p>A table might look like this:</p>
91
92<blockquote>
93    <p><b>Run Date:</b> 21 Sep 2001 15:31 GMT</p>
94    <p><b>System Configuration:</b> Microsoft Windows 32bit&nbsp; </p>
95    <table border="1" cellpadding="5" cellspacing="0">
96<tbody>        <tr>
97            <td>Program</td>
98            <td>Test<br>
99            Type</td>
100            <td>BelchFire<br>
101            Rev 5280</td>
102            <td>WorkHorse<br>
103            5.3</td>
104        </tr>
105        <tr>
106            <td>libs/foo/test/foo_test.cpp</td>
107            <td>compile</td>
108            <td>Pass</td>
109            <td>Pass</td>
110        </tr>
111        <tr>
112            <td>libs/bar/bar_test.cpp</td>
113            <td>run</td>
114            <td><u><font color="#FF0000">Fail</font></u></td>
115            <td>Pass</td>
116        </tr>
117</tbody>    </table>
118</blockquote>
119
120<p>The <i>Run Date</i> is important because the regression tests
121which create the status tables are run asynchronously, and thus
122may not represent the most current Boost release.</p>
123
124<p>The <i>Program</i> column identifies the actual source file
125for the test.&nbsp; Each row in the table represents a different
126test.</p>
127
128<p>The <a name="test-type"><i>Test Type</i></a> column identifies
129the type of test performed:</p>
130
131<table border="1" cellpadding="5" cellspacing="0">
132    <tr>
133        <td><b>Test Type</b></td>
134        <td><b>Action</b></td>
135        <td><b>Required to </b><b><i>Pass</i></b></td>
136        <td><b>Description and Use</b></td>
137    </tr>
138    <tr>
139        <td>compile</td>
140        <td>compile only</td>
141        <td>Compiler returns 0.</td>
142        <td>Verify that a source file will compile correctly, but
143        without any attempt to link or execute.&nbsp; Used when
144        factors such as possible object library unavailability
145        make a run test impractical.</td>
146    </tr>
147    <tr>
148        <td>compile-fail</td>
149        <td>compile only</td>
150        <td>Compiler must return non-zero.</td>
151        <td>Verify that a source file fails to compile. Used to
152        verify that an expected compile-time error was detected.</td>
153    </tr>
154    <tr>
155        <td>link</td>
156        <td>compile, link</td>
157        <td>Both compiler &amp; linker return 0.</td>
158        <td>Verify that a source file will compile and link
159        correctly, but without any attempt to execute the result.&nbsp;
160        Used when factors such as possible data file
161        unavailability make a run test impractical.</td>
162    </tr>
163    <tr>
164        <td>link-fail</td>
165        <td>compile, link</td>
166        <td>Either the compiler or linker must return non-zero.</td>
167        <td>Verify that a source file fails to compile and link.
168        Used to verify that error detect which depends on
169        unresolved externals works correctly.</td>
170    </tr>
171    <tr>
172        <td>run</td>
173        <td>compile, link, execute</td>
174        <td>Compiler, linker, and executable must all return 0.</td>
175        <td>Verify that a source file compiles, links, and the
176        resulting program executes correctly (as indicated by a
177        zero return code.)&nbsp; This is the primary test type
178        for most uses.</td>
179    </tr>
180    <tr>
181        <td>run-fail</td>
182        <td>compile, link, execute</td>
183        <td>Both compiler and linker must return 0, and the
184        executable must return non-zero.</td>
185        <td>Verify that a source file compiles and links
186        correctly, and that execution of the resulting program
187        detects some error.&nbsp; Used to verify runtime error
188        detection code works properly.</td>
189    </tr>
190</table>
191
192<p>Each remaining column in the table represents the individual
193compiler indicated. Unless otherwise indicated, the C++ Standard
194Library implementation is the one shipped with the compiler. A <i>Pass</i>
195entry indicates success for the indicated <i>Test Type</i>, while
196a <font color="#FF0000"><i>Fail</i></font> entry indicates
197failure. See <i>Required to Pass</i> in the above table for specifics.</p>
198
199<p>When possible, <font color="#FF0000"><i>Fail</i></font> entries are linked to
200error messages indicating the reason for the failure. Note that the web page
201containing error messages may be as much as one megabyte in size.</p>
202
203<h2><a name="Acknowledgements">Acknowledgements</a></h2>
204
205<p>The compiler status tables have been prepared with resources
206donated by a number of individuals, educational institutions, and
207companies. Boost would like to thank them for their support. </p>
208
209<ul>
210    <li>
211    <img border="0" src="borland_logo.gif" align="center" width="70" height="28"><a href="http://www.borland.com/">Borland</a><br>
212&nbsp;</li>
213    <li><a href="http://www.intel.com/software/products"><img
214        src="intel_logo.gif" align="center" border="0" width="72"
215        height="36">Intel Corporation</a><br>
216&nbsp;</li>
217    <li>
218    <img border="0" src="kai_logo.gif" width="65" height="27" align="center"> <a href="http://www.kai.com/">KAI
219        Software</a><br>
220&nbsp;</li>
221    <li>
222    <img border="0" src="ms_logo.gif" align="center" width="113" height="35">
223    <a href="http://msdn.microsoft.com/visualc/">Microsoft</a> <br>
224    <br>
225        </li>
226    <li><a href="http://www.hp.com/">Hewlett-Packard Company</a><br>
227&nbsp;</li>
228    <li><a href="http://www.lbl.gov">Lawrence Berkeley National
229        Laboratory</a><br>
230&nbsp;</li>
231    <li><a href="http://www.osl.iu.edu/">Open Systems Laboratory, University of
232    Indiana</a></li>
233</ul>
234
235<p>Note, however, that Boost does not endorse any product or
236service, nor does Boost guarantee that some or all of its
237libraries work with any of the products or services mentioned
238above. </p>
239
240<hr>
241
242<p>Revised
243<!--webbot bot="Timestamp" s-type="EDITED"
244s-format="%d %B %Y" startspan -->22 January 2004<!--webbot bot="Timestamp" endspan i-checksum="32362" --></p>
245</body>
246</html>
247
Note: See TracBrowser for help on using the repository browser.