compiler_status.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Type"
  4. content="text/html; charset=iso-8859-1">
  5. <meta name="ProgId" content="FrontPage.Editor.Document">
  6. <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
  7. <title>Boost Compiler Status Report</title>
  8. </head>
  9. <body bgcolor="#FFFFFF" text="#000000">
  10. <table border="1" cellpadding="2" bgcolor="#007F7F">
  11. <tr>
  12. <td bgcolor="#FFFFFF"><img src="../c++boost.gif"
  13. alt="c++boost.gif (8819 bytes)" width="277" height="86"></td>
  14. <td><a href="../index.htm"><font color="#FFFFFF" size="4"
  15. face="Arial">Home</font></a></td>
  16. <td><a href="../libs/libraries.htm"><font color="#FFFFFF"
  17. size="4" face="Arial">Libraries</font></a></td>
  18. <td><a href="../people/people.htm"><font color="#FFFFFF"
  19. size="4" face="Arial">People</font></a></td>
  20. <td><a href="../more/faq.htm"><font color="#FFFFFF"
  21. size="4" face="Arial">FAQ</font></a></td>
  22. <td><a href="../more/index.htm"><font color="#FFFFFF"
  23. size="4" face="Arial">More</font></a></td>
  24. </tr>
  25. </table>
  26. <h1>Compiler Status Regression Tests</h1>
  27. <p><a href="#Introduction">Introduction</a><br>
  28. Compiler Status Tables<br>
  29. &nbsp;&nbsp;&nbsp; <a href="#Tables">For the current release</a><br>
  30. &nbsp;&nbsp;&nbsp; <a href="http://boost.sourceforge.net/regression-logs/">For
  31. the current CVS</a><br>
  32. <a href="#Understanding">Understanding the Tables</a><br>
  33. <a href="#Acknowledgements">Acknowledgements</a></p>
  34. <h2><a name="Introduction">Introduction</a></h2>
  35. <p>Will all boost libraries work with your compiler?&nbsp;
  36. Unfortunately, the answer is &quot;it depends.&quot;.</p>
  37. <p>Boost libraries rely on modern C++ features such as templates
  38. and the C++ Standard Library.&nbsp; Most modern compilers support
  39. those major features fairly well. But even today, years after the
  40. adoption of the C++ Standard, some compilers still don't support
  41. important minor features like partial template specialization.</p>
  42. <p>Boost library authors often expend a great deal of effort
  43. trying to work around compiler deficiencies.&nbsp; Nevertheless,
  44. some libraries will not compile at all with certain compilers or
  45. may have crippled functionality.&nbsp; Even if the current
  46. release of a compiler supports a boost library, older versions of
  47. the compiler may not work properly.</p>
  48. <p>Boost releases are run through <a href="../more/regression.html">regression
  49. tests</a> which
  50. automatically generates Compiler Status Tables for various
  51. platforms. Unless otherwise indicated, the C++ Standard Library
  52. implementation is the one shipped with the compiler.</p>
  53. <h2>Compiler Status <a name="Tables">Tables</a></h2>
  54. <p>The compiler status tables summarize the results of the
  55. <a href="../more/regression.html">regression tests</a>.</p>
  56. <p><b>Warnings:</b></p>
  57. <ul>
  58. <li>These tables are not a good indication of a
  59. particular compiler's compliance with the C++ Standard.&nbsp; The
  60. Boost libraries often contain workarounds which mask compiler
  61. deficiencies.<br>
  62. &nbsp;</li>
  63. <li>Some regression tests are run only occasionally, and so are relatively
  64. out-of-date.&nbsp; Check the date at the top of each table.</li>
  65. </ul>
  66. <p><a name="quick-reference"></a>Select the <b>Current Release</b> links if you want to know the status relative to the
  67. current release
  68. code from the <a href="http://www.boost.org">www.boost.org</a> web site.</p>
  69. <p>Select the <b>CVS</b> links if you want to know the status of the code in the
  70. Boost <a href="../more/download.html#CVS">CVS repository</a>.&nbsp; The CVS
  71. code is being updated several times a day, so it may contain bug fixes, compiler
  72. workarounds, new features, and even whole new libraries. It may be unstable,
  73. however.</p>
  74. <table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
  75. <tr>
  76. <td align="center"><b>Operating System</b></td>
  77. <td align="center"><b>Current Release</b></td>
  78. <td align="center"><b>CVS</b></td>
  79. <td align="center"><b>Contributed by</b></td>
  80. </tr>
  81. <tr>
  82. <td valign="top">Apple Mac OS X</td>
  83. <td valign="top"><a href="cs-macosx.html">Table</a><br>
  84. <a
  85. href="http://boost.sourceforge.net/regression-logs/macosx.log.gz">
  86. Messages</a>
  87. </td>
  88. <td valign="top">&nbsp;</td>
  89. <td valign="top"><a href="../people/darin_adler.htm">Darin Adler</a></td>
  90. </tr>
  91. <tr>
  92. <td valign="top">Compaq Tru64 Unix 5.0 </td>
  93. <td valign="top"><a href="cs-tru64.html">Table</a><br>
  94. <a
  95. href="http://boost.sourceforge.net/regression-logs/alpha.log.gz">
  96. Messages</a><br>
  97. <a
  98. href="http://boost.sourceforge.net/regression-logs/alpha-times.html">
  99. Times</a></td>
  100. <td valign="top">&nbsp;</td>
  101. <td valign="top"><a href="../people/jens_maurer.htm">Jens Maurer</a>
  102. in cooperation with <a
  103. href="../people/ralf_w_grosse_kunstleve.htm">Ralf W.
  104. Grosse-Kunstleve</a> </td>
  105. </tr>
  106. <tr>
  107. <td valign="top">HP/UX 11.0</td>
  108. <td valign="top"><a href="cs-hpux.html">Table</a><br>
  109. <a
  110. href="http://boost.sourceforge.net/regression-logs/hpux.log.gz">Messages</a><br>
  111. <a
  112. href="http://boost.sourceforge.net/regression-logs/hpux-times.html">
  113. Times</a>
  114. </td>
  115. <td valign="top">
  116. <a href="http://boost.sourceforge.net/regression-logs/cs-HP-UX.html">Full Results</a>
  117. </td>
  118. <td valign="top"><a href="../people/jens_maurer.htm">Jens Maurer</a>
  119. in cooperation with Thomas Matelich and Hewlett-Packard
  120. <br>Toon Knapen
  121. </td>
  122. </tr>
  123. <tr>
  124. <td valign="top">IBM Aix<br>
  125. &nbsp;</td>
  126. <td valign="top"><a href="cs-aix.html">Table</a><br>
  127. <a
  128. href="http://boost.sourceforge.net/regression-logs/aix.log.gz">Messages</a></td>
  129. <td valign="top">
  130. <a href="http://boost.sourceforge.net/regression-logs/cs-AIX.html">VisualAge v6.0</a>
  131. <br>
  132. VisualAge v5.0 :
  133. <a href="http://boost.sourceforge.net/regression-logs/cs-vacpp.html">Normal</a>
  134. <a href="http://boost.sourceforge.net/regression-logs/cs-vacpp-full.html">Full</a>
  135. <a href="http://boost.sourceforge.net/regression-logs/cs-vacpp-links.html">Links</a>
  136. <a href="http://boost.sourceforge.net/regression-logs/cs-vacpp-fail.html">Fail</a>
  137. </td>
  138. <td valign="top">Toon Knapen<br>Markus Schöpflin<br>with the support of IBM</td>
  139. </tr>
  140. <tr>
  141. <td valign="top">Linux x86<br>
  142. &nbsp;</td>
  143. <td valign="top"><a href="cs-linux.html">Table</a><br>
  144. <a
  145. href="http://boost.sourceforge.net/regression-logs/linux.log.gz">
  146. Messages</a><br>
  147. <a
  148. href="http://boost.sourceforge.net/regression-logs/linux-times.html">
  149. Times</a></td>
  150. <td valign="top">
  151. <a href="http://boost.sourceforge.net/regression-logs/cs-linux.html">
  152. Full results</a></td>
  153. <td valign="top"><a href="../people/jens_maurer.htm">Jens Maurer</a></td>
  154. </tr>
  155. <tr>
  156. <td valign="top">Microsoft Windows 2000<br>
  157. &nbsp;</td>
  158. <td valign="top"><a href="cs-win32.html">Table</a></td>
  159. <td valign="top">
  160. <a href="http://boost.sourceforge.net/regression-logs/cs-win32-diff.html">
  161. Full results</a> - Recent changes emphasized<br>
  162. <a href="http://boost.sourceforge.net/regression-logs/cs-win32-index.html">
  163. More choices</a></td>
  164. <td valign="top"><a href="../people/beman_dawes.html">Beman Dawes</a></td>
  165. </tr>
  166. <tr>
  167. <td valign="top">SGI IRIX 6.5 </td>
  168. <td valign="top"><a href="cs-irix.html">Table</a><br>
  169. <a
  170. href="http://boost.sourceforge.net/regression-logs/irix.log.gz">Messages</a><br>
  171. <a
  172. href="http://boost.sourceforge.net/regression-logs/irix-times.html">
  173. Times</a></td>
  174. <td valign="top">&nbsp;</td>
  175. <td valign="top"><a href="../people/jens_maurer.htm">Jens Maurer</a>
  176. in cooperation with <a
  177. href="../people/ralf_w_grosse_kunstleve.htm">Ralf W.
  178. Grosse-Kunstleve</a> </td>
  179. </tr>
  180. <tr>
  181. <td valign="top">Sun Solaris SPARC 2.8<br>
  182. &nbsp;</td>
  183. <td valign="top"><a href="cs-solaris.html">Table</a><br>
  184. <a
  185. href="http://boost.sourceforge.net/regression-logs/solaris.log.gz">
  186. Messages</a><br>
  187. <a
  188. href="http://boost.sourceforge.net/regression-logs/solaris-times.html">
  189. Times</a></td>
  190. <td valign="top">&nbsp;</td>
  191. <td valign="top"><a href="../people/jens_maurer.htm">Jens Maurer</a>
  192. in cooperation with Andrew Lumsdaine</td>
  193. </tr>
  194. </table>
  195. <h2><a name="Understanding">Understanding</a> the Tables</h2>
  196. <p>A table might look like this:</p>
  197. <blockquote>
  198. <p><b>Run Date:</b> 21 Sep 2001 15:31 GMT</p>
  199. <p><b>System Configuration:</b> Microsoft Windows 32bit&nbsp; </p>
  200. <table border="1" cellpadding="5" cellspacing="0">
  201. <tbody> <tr>
  202. <td>Program</td>
  203. <td>Test<br>
  204. Type</td>
  205. <td>BelchFire<br>
  206. Rev 5280</td>
  207. <td>WorkHorse<br>
  208. 5.3</td>
  209. </tr>
  210. <tr>
  211. <td>libs/foo/test/foo_test.cpp</td>
  212. <td>compile</td>
  213. <td>Pass</td>
  214. <td>Pass</td>
  215. </tr>
  216. <tr>
  217. <td>libs/bar/bar_test.cpp</td>
  218. <td>run</td>
  219. <td><font color="#FF0000">Fail</font></td>
  220. <td>Pass</td>
  221. </tr>
  222. </tbody> </table>
  223. </blockquote>
  224. <p>The <i>Run Date</i> is important because the regression tests
  225. which create the status tables are run asynchronously, and thus
  226. may not represent the most current Boost release.</p>
  227. <p>The <i>Program</i> column identifies the actual source file
  228. for the test.&nbsp; Each row in the table represents a different
  229. test.</p>
  230. <p>The <a name="test-type"><i>Test Type</i></a> column identifies
  231. the type of test performed:</p>
  232. <table border="1" cellpadding="5" cellspacing="0">
  233. <tr>
  234. <td><b>Test Type</b></td>
  235. <td><b>Action</b></td>
  236. <td><b>Required to </b><b><i>Pass</i></b></td>
  237. <td><b>Description and Use</b></td>
  238. </tr>
  239. <tr>
  240. <td>compile</td>
  241. <td>compile only</td>
  242. <td>Compiler returns 0.</td>
  243. <td>Verify that a source file will compile correctly, but
  244. without any attempt to link or execute.&nbsp; Used when
  245. factors such as possible object library unavailability
  246. make a run test impractical.</td>
  247. </tr>
  248. <tr>
  249. <td>compile-fail</td>
  250. <td>compile only</td>
  251. <td>Compiler must return non-zero.</td>
  252. <td>Verify that a source file fails to compile. Used to
  253. verify that an expected compile-time error was detected.</td>
  254. </tr>
  255. <tr>
  256. <td>link</td>
  257. <td>compile, link</td>
  258. <td>Both compiler &amp; linker return 0.</td>
  259. <td>Verify that a source file will compile and link
  260. correctly, but without any attempt to execute the result.&nbsp;
  261. Used when factors such as possible data file
  262. unavailability make a run test impractical.</td>
  263. </tr>
  264. <tr>
  265. <td>link-fail</td>
  266. <td>compile, link</td>
  267. <td>Either the compiler or linker must return non-zero.</td>
  268. <td>Verify that a source file fails to compile and link.
  269. Used to verify that error detect which depends on
  270. unresolved externals works correctly.</td>
  271. </tr>
  272. <tr>
  273. <td>run</td>
  274. <td>compile, link, execute</td>
  275. <td>Compiler, linker, and executable must all return 0.</td>
  276. <td>Verify that a source file compiles, links, and the
  277. resulting program executes correctly (as indicated by a
  278. zero return code.)&nbsp; This is the primary test type
  279. for most uses.</td>
  280. </tr>
  281. <tr>
  282. <td>run-fail</td>
  283. <td>compile, link, execute</td>
  284. <td>Both compiler and linker must return 0, and the
  285. executable must return non-zero.</td>
  286. <td>Verify that a source file compiles and links
  287. correctly, and that execution of the resulting program
  288. detects some error.&nbsp; Used to verify runtime error
  289. detection code works properly.</td>
  290. </tr>
  291. </table>
  292. <p>Each remaining column in the table represents the individual
  293. compiler indicated. Unless otherwise indicated, the C++ Standard
  294. Library implementation is the one shipped with the compiler. A <i>Pass</i>
  295. entry indicates success for the indicated <i>Test Type</i>, while
  296. a <font color="#FF0000"><i>Fail</i></font> entry indicates
  297. failure. See <i>Required to Pass</i> in the above table for
  298. specifics.&nbsp;</p>
  299. <h2><a name="Acknowledgements">Acknowledgements</a></h2>
  300. <p>The compiler status tables have been prepared with resources
  301. donated by a number of individuals, educational institutions, and
  302. companies. Boost would like to thank them for their support. </p>
  303. <ul>
  304. <li><a href="http://www.borland.com/"><img border="0" src="borland_logo.gif" align="center" width="70" height="33">Borland</a>,
  305. California, USA</li>
  306. <li><a href="http://www.intel.com/software/products"><img
  307. src="intel_logo.gif" align="center" border="0" width="72"
  308. height="36">Intel Corporation</a>, California, USA </li>
  309. <li><a href="http://www.kai.com/"><img src="kai_logo.gif"
  310. align="center" border="0" width="60" height="25"> KAI
  311. Software</a>, Illinois, USA<br>
  312. </li>
  313. <li><a href="http://www.hp.com/">Hewlett-Packard Company</a>,
  314. USA</li>
  315. <li><a href="http://www.lbl.gov">Lawrence Berkeley National
  316. Laboratory</a>, California, USA</li>
  317. <li><a href="http://www.nd.edu/">University of Notre Dame</a>,
  318. Indiana, USA</li>
  319. </ul>
  320. <p>Note, however, that Boost does not endorse any product or
  321. service, nor does Boost guarantee that some or all of its
  322. libraries work with any of the products or services mentioned
  323. above. </p>
  324. <hr>
  325. <p>Revised
  326. <!--webbot bot="Timestamp" s-type="EDITED"
  327. s-format="%d %B %Y" startspan -->20 January 2003<!--webbot bot="Timestamp" endspan i-checksum="32294" --></p>
  328. </body>
  329. </html>
粤ICP备19079148号