compiler_status.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296
  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 4.0">
  7. <title>Boost Compiler Status Report</title>
  8. </head>
  9. <body bgcolor="#FFFFFF" text="#000000">
  10. <table border="1" bgcolor="#007F7F" cellpadding="2">
  11. <tr>
  12. <td bgcolor="#FFFFFF"><img src="../c++boost.gif" alt="c++boost.gif (8819 bytes)" width="277" height="86"></td>
  13. <td><a href="../index.htm"><font face="Arial" color="#FFFFFF"><big>Home</big></font></a></td>
  14. <td><a href="../libs/libraries.htm"><font face="Arial" color="#FFFFFF"><big>Libraries</big></font></a></td>
  15. <td><a href="../people/people.htm"><font face="Arial" color="#FFFFFF"><big>People</big></font></a></td>
  16. <td><a href="../more/faq.htm"><font face="Arial" color="#FFFFFF"><big>FAQ</big></font></a></td>
  17. <td><a href="../more/index.htm"><font face="Arial" color="#FFFFFF"><big>More</big></font></a></td>
  18. </tr>
  19. </table>
  20. <h1>Compiler Status</h1>
  21. <p><a href="#Introduction">Introduction</a><br>
  22. <a href="#Tables">Compiler Status Tables</a><br>
  23. <a href="#Understanding">Understanding the Tables</a><br>
  24. <a href="#Acknowledgements">Acknowledgements</a></p>
  25. <h2><a name="Introduction">Introduction</a></h2>
  26. <p>Will all boost libraries work with your compiler?&nbsp;
  27. Unfortunately, the answer is &quot;it depends.&quot;.</p>
  28. <p>Boost libraries rely on modern C++ features such as templates
  29. and the C++ Standard Library.&nbsp; Most modern compilers support those major
  30. features fairly well. But even today, years after
  31. the adoption of the C++ Standard, some compilers still don't
  32. support important minor features like partial template specialization.</p>
  33. <p>Boost library authors often expend a great deal of effort
  34. trying to work around compiler deficiencies.&nbsp; Nevertheless,
  35. some libraries will not compile at all with certain compilers or
  36. may have crippled functionality.&nbsp; Even if the current
  37. release of a compiler supports a boost library, older versions of
  38. the compiler may not work properly.</p>
  39. <p>Boost releases are run through a <a href="../more/regression.html">regression test
  40. suite</a> which
  41. automatically generates Compiler Status Tables for various platforms. Unless otherwise
  42. indicated, the C++ Standard Library implementation is the one
  43. shipped with the compiler.</p>
  44. <h2>Compiler Status <a name="Tables"> Tables</a></h2>
  45. <p><b>Warning:</b> These tables are not a good indication of a
  46. particular compiler's compliance with the C++ Standard.&nbsp; The Boost libraries often contain workarounds which mask compiler
  47. deficiencies.</p>
  48. <table border="1" cellpadding="5" cellSpacing="0">
  49. <tr>
  50. <td><b>Link to<br>
  51. Compiler Status Table<br>
  52. </b></td>
  53. <td><b>Link to<br>
  54. Regression<br>
  55. Test messages</b></td>
  56. <td><b>Link to<br>
  57. Compile Times<br></b></td>
  58. <td><b>Contributed by</b></td>
  59. </tr>
  60. <tr>
  61. <td><a href="cs-macosx.html">Apple Mac OS X</a> </td>
  62. <td><a href="http://boost.sourceforge.net/regression-logs/macosx.log.gz">messages</a>
  63. </td>
  64. <td>-</td>
  65. <td><a href="../people/darin_adler.htm">Darin Adler</a></td>
  66. </tr>
  67. <tr>
  68. <td><a href="cs-beos.html">BeOS5 Intel</a> </td>
  69. <td><a href="http://boost.sourceforge.net/regression-logs/beos.log.gz">messages</a>
  70. </td>
  71. <td>-</td>
  72. <td><a href="../people/john_maddock.htm">John Maddock</a></td>
  73. </tr>
  74. <tr>
  75. <td><a href="cs-tru64.html">Compaq Tru64 Unix 5.0</a> </td>
  76. <td><a href="http://boost.sourceforge.net/regression-logs/alpha.log.gz">messages</a>
  77. </td>
  78. <td><a href="http://boost.sourceforge.net/regression-logs/alpha-times.html">times</a>
  79. </td>
  80. <td><a href="../people/jens_maurer.htm">Jens Maurer</a>
  81. in cooperation with
  82. <a href="../people/ralf_w_grosse_kunstleve.htm">Ralf W. Grosse-Kunstleve</a>
  83. </td>
  84. </tr>
  85. <tr>
  86. <td><a href="cs-hpux.html">HP/UX 11.0</a> </td>
  87. <td><a href="http://boost.sourceforge.net/regression-logs/hpux.log.gz">messages</a>
  88. </td>
  89. <td><a href="http://boost.sourceforge.net/regression-logs/hpux-times.html">times</a>
  90. </td>
  91. <td><a href="../people/jens_maurer.htm">Jens Maurer</a>
  92. in cooperation with Thomas Matelich and Hewlett-Packard</td>
  93. </tr>
  94. <tr>
  95. <td><a href="cs-aix.html">IBM Aix</a> </td>
  96. <td><a href="http://boost.sourceforge.net/regression-logs/aix.log.gz">messages</a>
  97. </td>
  98. <td>-</td>
  99. <td> Toon Knapen</td>
  100. </tr>
  101. <tr>
  102. <td><a href="cs-linux.html">Linux x86</a> </td>
  103. <td><a href="http://boost.sourceforge.net/regression-logs/linux.log.gz">messages</a>
  104. </td>
  105. <td><a href="http://boost.sourceforge.net/regression-logs/linux-times.html">times</a>
  106. </td>
  107. <td><a href="../people/jens_maurer.htm">Jens Maurer</a></td>
  108. </tr>
  109. <tr>
  110. <td><a href="cs-win32.html">Microsoft Windows 2000</a> </td>
  111. <td><a href="http://boost.sourceforge.net/regression-logs/win32.zip">messages</a>
  112. </td>
  113. <td>-</td>
  114. <td><a href="../people/beman_dawes.html">Beman Dawes</a></td>
  115. </tr>
  116. <tr>
  117. <td><a href="cs-irix.html">SGI IRIX 6.5</a> </td>
  118. <td><a href="http://boost.sourceforge.net/regression-logs/irix.log.gz">messages</a>
  119. </td>
  120. <td><a href="http://boost.sourceforge.net/regression-logs/irix-times.html">times</a>
  121. </td>
  122. <td><a href="../people/jens_maurer.htm">Jens Maurer</a>
  123. in cooperation with
  124. <a href="../people/ralf_w_grosse_kunstleve.htm">Ralf W. Grosse-Kunstleve</a>
  125. </td>
  126. </tr>
  127. <tr>
  128. <td><a href="cs-solaris.html">Sun Solaris SPARC 2.8</a> </td>
  129. <td><a href="http://boost.sourceforge.net/regression-logs/solaris.log.gz">messages</a>
  130. </td>
  131. <td><a href="http://boost.sourceforge.net/regression-logs/solaris-times.html">times</a>
  132. </td>
  133. <td><a href="../people/jens_maurer.htm">Jens Maurer</a>
  134. in cooperation with Andrew Lumsdaine</td>
  135. </tr>
  136. </table>
  137. <h2><a name="Understanding">Understanding</a> the Tables</h2>
  138. <p>A table might look like this:</p>
  139. <blockquote>
  140. <p><b>Run Date:</b> 21 Sep 2001 15:31 GMT</p>
  141. <p><b>System Configuration:</b> Microsoft Windows 32bit</p>
  142. <p>&nbsp;
  143. <table border="1" cellPadding="5" cellSpacing="0">
  144. <tbody>
  145. <tr>
  146. <td>Program</td>
  147. <td>Test<br>
  148. Type</td>
  149. <td>BelchFire<br>
  150. Rev 5280</td>
  151. <td>WorkHorse<br>
  152. 5.3</td>
  153. </tr>
  154. <tr>
  155. <td>libs/foo/test/foo_test.cpp</td>
  156. <td>compile</td>
  157. <td>Pass</td>
  158. <td>Pass</td>
  159. </tr>
  160. <tr>
  161. <td>libs/bar/bar_test.cpp</td>
  162. <td>run</td>
  163. <td><font color="#ff0000">Fail</font></td>
  164. <td>Pass</td>
  165. </tr>
  166. </tbody>
  167. </table>
  168. </blockquote>
  169. <p>The <i>Run Date</i> is important because the regression tests which create
  170. the status tables are run asynchronously, and thus may not represent the most
  171. current Boost release.</p>
  172. <p>The <i>Program</i> column identifies the actual source file for the
  173. test.&nbsp; Each row in the table represents a different test.</p>
  174. <p>The <i>Test Type</i> column identifies the type of test performed:</p>
  175. <table border="1" cellpadding="5" cellSpacing="0">
  176. <tr>
  177. <td><b>Test Type</b></td>
  178. <td><b>Action</b></td>
  179. <td><b>Required to <i>Pass</i></b></td>
  180. <td><b>Description and Use</b></td>
  181. </tr>
  182. <tr>
  183. <td>compile</td>
  184. <td>compile only</td>
  185. <td>Compiler returns 0.</td>
  186. <td>Verify that a source file will compile correctly, but without any
  187. attempt to link or execute.&nbsp; Used when factors such as possible
  188. object library unavailability make a run test impractical.</td>
  189. </tr>
  190. <tr>
  191. <td>compile-fail</td>
  192. <td>compile only</td>
  193. <td>Compiler must return non-zero.</td>
  194. <td>Verify that a source file fails to compile. Used to verify that an
  195. expected compile-time error was detected.</td>
  196. </tr>
  197. <tr>
  198. <td>link</td>
  199. <td>compile, link</td>
  200. <td>Both compiler &amp; linker return 0.</td>
  201. <td>Verify that a source file will compile and link correctly, but without
  202. any attempt to execute the result.&nbsp; Used when factors such as
  203. possible data file unavailability make a run test impractical.</td>
  204. </tr>
  205. <tr>
  206. <td>link-fail</td>
  207. <td>compile, link</td>
  208. <td>Either the compiler or linker must return non-zero.</td>
  209. <td>Verify that a source file fails to compile and link. Used to verify that
  210. error detect which depends on unresolved externals works correctly.</td>
  211. </tr>
  212. <tr>
  213. <td>run</td>
  214. <td>compile, link, execute</td>
  215. <td>Compiler, linker, and executable must all return 0.</td>
  216. <td>Verify that a source file compiles, links, and the resulting program
  217. executes correctly (as indicated by a zero return code.)&nbsp; This is the
  218. primary test type for most uses.</td>
  219. </tr>
  220. <tr>
  221. <td>run-fail</td>
  222. <td>compile, link, execute</td>
  223. <td>Both compiler and linker must return 0, and the executable must return
  224. non-zero.</td>
  225. <td>Verify that a source file compiles and links correctly, and that
  226. execution of the resulting program detects some error.&nbsp; Used to
  227. verify runtime error detection code works properly.</td>
  228. </tr>
  229. </table>
  230. <p>Each remaining column in the table represents the individual compiler
  231. indicated. Unless otherwise
  232. indicated, the C++ Standard Library implementation is the one
  233. shipped with the compiler. A <i>Pass</i> entry indicates success for the
  234. indicated <i>Test Type</i>, while a <font color="#ff0000"><i>Fail</i></font>
  235. entry indicates failure. See <i>Required to Pass</i> in the above table for
  236. specifics.&nbsp;</p>
  237. <h2><a name="Acknowledgements">Acknowledgements</a></h2>
  238. The compiler status tables have been prepared with resources donated by a number of individuals, educational institutions, and
  239. companies. Boost would like to thank them for their support.
  240. <ul>
  241. <li><p><a href="http://www.intel.com/software/products"><img border="0" src="intel_logo.gif" align="center" width="72" height="36">Intel
  242. Corporation</a>, California, USA
  243. <li><a href="http://www.kai.com/"><img border="0" src="kai_logo.gif" align="center" width="60" height="25"> KAI Software</a>, Illinois, USA<br>
  244. </li>
  245. <li><p><a href="http://www.hp.com/">Hewlett-Packard Company</a>, USA</p></li>
  246. <li><p><a href="http://www.lbl.gov">Lawrence Berkeley National Laboratory</a>, California, USA</p></li>
  247. <li><p><a href="http://www.nd.edu/">University of Notre Dame</a>,
  248. Indiana, USA</p>
  249. </ul>
  250. <p>
  251. Note, however, that Boost does not endorse any product or service, nor
  252. does Boost guarantee that some or all of its libraries work with any
  253. of the products or services mentioned above.
  254. <hr>
  255. <p>Revised <!--webbot bot="Timestamp" s-type="EDITED"
  256. s-format="%d %B %Y" startspan -->30 September 2001<!--webbot bot="Timestamp" endspan i-checksum="39489" --></p>
  257. </body>
  258. </html>
粤ICP备19079148号