compiler_status.html 14 KB

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