[12] | 1 | <html> |
---|
| 2 | |
---|
| 3 | <head> |
---|
| 4 | <meta http-equiv="Content-Type" |
---|
| 5 | content="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 |
---|
| 33 | Summary</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? |
---|
| 41 | Unfortunately, the answer is "it depends". See the |
---|
| 42 | <a href="http://boost.sourceforge.net/regression-logs/">Compiler Status Summary</a> |
---|
| 43 | to see exactly what works and what doesn't.</p> |
---|
| 44 | |
---|
| 45 | <p>Boost libraries rely on modern C++ features such as templates |
---|
| 46 | and the C++ Standard Library. Most modern compilers support |
---|
| 47 | those major features fairly well. But even today, years after the |
---|
| 48 | adoption of the C++ Standard, some compilers still don't support |
---|
| 49 | important minor features like partial template specialization.</p> |
---|
| 50 | |
---|
| 51 | <p>Boost library authors often expend a great deal of effort |
---|
| 52 | trying to work around compiler deficiencies. Nevertheless, |
---|
| 53 | some libraries will not compile at all with certain compilers or |
---|
| 54 | may have crippled functionality. Even if the current |
---|
| 55 | release of a compiler supports a boost library, older versions of |
---|
| 56 | the compiler may not work properly.</p> |
---|
| 57 | |
---|
| 58 | <p>Boost releases are run through <a href="../more/regression.html">regression |
---|
| 59 | tests</a> which |
---|
| 60 | automatically generates Compiler Status Tables for various |
---|
| 61 | platforms. Unless otherwise indicated, the C++ Standard Library |
---|
| 62 | implementation 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 |
---|
| 68 | particular compiler's compliance with the C++ Standard. The |
---|
| 69 | Boost libraries often contain workarounds which mask compiler |
---|
| 70 | deficiencies.<br> |
---|
| 71 | </li> |
---|
| 72 | <li>Some regression tests are run only occasionally, and so are relatively |
---|
| 73 | out-of-date. 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> |
---|
| 78 | includes table summaries for specific releases, as well as table summaries for |
---|
| 79 | recent <a href="../more/getting_started.html#CVS">CVS</a> snapshots. Release |
---|
| 80 | tables are identified by the release number appended to the table name. CVS |
---|
| 81 | snapshot tables do not have a release number appended.</p> |
---|
| 82 | |
---|
| 83 | <p>The <a href="../more/getting_started.html#CVS">CVS</a> |
---|
| 84 | code is being updated several times a day, so it may contain bug fixes, compiler |
---|
| 85 | workarounds, new features, and even whole new libraries. It may be unstable, |
---|
| 86 | however.</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 </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 |
---|
| 121 | which create the status tables are run asynchronously, and thus |
---|
| 122 | may not represent the most current Boost release.</p> |
---|
| 123 | |
---|
| 124 | <p>The <i>Program</i> column identifies the actual source file |
---|
| 125 | for the test. Each row in the table represents a different |
---|
| 126 | test.</p> |
---|
| 127 | |
---|
| 128 | <p>The <a name="test-type"><i>Test Type</i></a> column identifies |
---|
| 129 | the 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. 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 & 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. |
---|
| 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.) 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. 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 |
---|
| 193 | compiler indicated. Unless otherwise indicated, the C++ Standard |
---|
| 194 | Library implementation is the one shipped with the compiler. A <i>Pass</i> |
---|
| 195 | entry indicates success for the indicated <i>Test Type</i>, while |
---|
| 196 | a <font color="#FF0000"><i>Fail</i></font> entry indicates |
---|
| 197 | failure. 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 |
---|
| 200 | error messages indicating the reason for the failure. Note that the web page |
---|
| 201 | containing 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 |
---|
| 206 | donated by a number of individuals, educational institutions, and |
---|
| 207 | companies. 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 | </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 | </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 | </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 | </li> |
---|
| 228 | <li><a href="http://www.lbl.gov">Lawrence Berkeley National |
---|
| 229 | Laboratory</a><br> |
---|
| 230 | </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 |
---|
| 236 | service, nor does Boost guarantee that some or all of its |
---|
| 237 | libraries work with any of the products or services mentioned |
---|
| 238 | above. </p> |
---|
| 239 | |
---|
| 240 | <hr> |
---|
| 241 | |
---|
| 242 | <p>Revised |
---|
| 243 | <!--webbot bot="Timestamp" s-type="EDITED" |
---|
| 244 | s-format="%d %B %Y" startspan -->22 January 2004<!--webbot bot="Timestamp" endspan i-checksum="32362" --></p> |
---|
| 245 | </body> |
---|
| 246 | </html> |
---|
| 247 | |
---|