compiler_status.html 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  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="../boost.png"
  13. alt="boost.png (6897 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 Tables</h1>
  27. <p><a href="http://boost.sourceforge.net/regression-logs/">Compiler Status
  28. Summary</a> (on SourceForge) of Boost regression test results.<br>
  29. <a href="#Introduction">Introduction</a><br>
  30. <a href="#Understanding">Understanding the Tables</a><br>
  31. <a href="#Acknowledgements">Acknowledgements</a></p>
  32. <h2><a name="Introduction">Introduction</a></h2>
  33. <p>Will all Boost libraries work with your compiler?&nbsp;
  34. Unfortunately, the answer is &quot;it depends&quot;. See the
  35. <a href="http://boost.sourceforge.net/regression-logs/">Compiler Status Summary</a>
  36. to see exactly what works and what doesn't.</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. <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 for each table.</li>
  62. </ul>
  63. <p><a name="quick-reference"></a>The
  64. <a href="http://boost.sourceforge.net/regression-logs/">Compiler Status Summary</a>
  65. includes table summaries for specific releases, as well as table summaries for
  66. recent <a href="../more/getting_started.html#CVS">CVS</a> snapshots. Release
  67. tables are identified by the release number appended to the table name. CVS
  68. snapshot tables do not have a release number appended.</p>
  69. <p>The <a href="../more/getting_started.html#CVS">CVS</a>
  70. code is being updated several times a day, so it may contain bug fixes, compiler
  71. workarounds, new features, and even whole new libraries. It may be unstable,
  72. however.</p>
  73. <h2><a name="Understanding">Understanding</a> the Tables</h2>
  74. <p>A table might look like this:</p>
  75. <blockquote>
  76. <p><b>Run Date:</b> 21 Sep 2001 15:31 GMT</p>
  77. <p><b>System Configuration:</b> Microsoft Windows 32bit&nbsp; </p>
  78. <table border="1" cellpadding="5" cellspacing="0">
  79. <tbody> <tr>
  80. <td>Program</td>
  81. <td>Test<br>
  82. Type</td>
  83. <td>BelchFire<br>
  84. Rev 5280</td>
  85. <td>WorkHorse<br>
  86. 5.3</td>
  87. </tr>
  88. <tr>
  89. <td>libs/foo/test/foo_test.cpp</td>
  90. <td>compile</td>
  91. <td>Pass</td>
  92. <td>Pass</td>
  93. </tr>
  94. <tr>
  95. <td>libs/bar/bar_test.cpp</td>
  96. <td>run</td>
  97. <td><u><font color="#FF0000">Fail</font></u></td>
  98. <td>Pass</td>
  99. </tr>
  100. </tbody> </table>
  101. </blockquote>
  102. <p>The <i>Run Date</i> is important because the regression tests
  103. which create the status tables are run asynchronously, and thus
  104. may not represent the most current Boost release.</p>
  105. <p>The <i>Program</i> column identifies the actual source file
  106. for the test.&nbsp; Each row in the table represents a different
  107. test.</p>
  108. <p>The <a name="test-type"><i>Test Type</i></a> column identifies
  109. the type of test performed:</p>
  110. <table border="1" cellpadding="5" cellspacing="0">
  111. <tr>
  112. <td><b>Test Type</b></td>
  113. <td><b>Action</b></td>
  114. <td><b>Required to </b><b><i>Pass</i></b></td>
  115. <td><b>Description and Use</b></td>
  116. </tr>
  117. <tr>
  118. <td>compile</td>
  119. <td>compile only</td>
  120. <td>Compiler returns 0.</td>
  121. <td>Verify that a source file will compile correctly, but
  122. without any attempt to link or execute.&nbsp; Used when
  123. factors such as possible object library unavailability
  124. make a run test impractical.</td>
  125. </tr>
  126. <tr>
  127. <td>compile-fail</td>
  128. <td>compile only</td>
  129. <td>Compiler must return non-zero.</td>
  130. <td>Verify that a source file fails to compile. Used to
  131. verify that an expected compile-time error was detected.</td>
  132. </tr>
  133. <tr>
  134. <td>link</td>
  135. <td>compile, link</td>
  136. <td>Both compiler &amp; linker return 0.</td>
  137. <td>Verify that a source file will compile and link
  138. correctly, but without any attempt to execute the result.&nbsp;
  139. Used when factors such as possible data file
  140. unavailability make a run test impractical.</td>
  141. </tr>
  142. <tr>
  143. <td>link-fail</td>
  144. <td>compile, link</td>
  145. <td>Either the compiler or linker must return non-zero.</td>
  146. <td>Verify that a source file fails to compile and link.
  147. Used to verify that error detect which depends on
  148. unresolved externals works correctly.</td>
  149. </tr>
  150. <tr>
  151. <td>run</td>
  152. <td>compile, link, execute</td>
  153. <td>Compiler, linker, and executable must all return 0.</td>
  154. <td>Verify that a source file compiles, links, and the
  155. resulting program executes correctly (as indicated by a
  156. zero return code.)&nbsp; This is the primary test type
  157. for most uses.</td>
  158. </tr>
  159. <tr>
  160. <td>run-fail</td>
  161. <td>compile, link, execute</td>
  162. <td>Both compiler and linker must return 0, and the
  163. executable must return non-zero.</td>
  164. <td>Verify that a source file compiles and links
  165. correctly, and that execution of the resulting program
  166. detects some error.&nbsp; Used to verify runtime error
  167. detection code works properly.</td>
  168. </tr>
  169. </table>
  170. <p>Each remaining column in the table represents the individual
  171. compiler indicated. Unless otherwise indicated, the C++ Standard
  172. Library implementation is the one shipped with the compiler. A <i>Pass</i>
  173. entry indicates success for the indicated <i>Test Type</i>, while
  174. a <font color="#FF0000"><i>Fail</i></font> entry indicates
  175. failure. See <i>Required to Pass</i> in the above table for specifics.</p>
  176. <p>When possible, <font color="#FF0000"><i>Fail</i></font> entries are linked to
  177. error messages indicating the reason for the failure. Note that the web page
  178. containing error messages may be as much as one megabyte in size.</p>
  179. <h2><a name="Acknowledgements">Acknowledgements</a></h2>
  180. <p>The compiler status tables have been prepared with resources
  181. donated by a number of individuals, educational institutions, and
  182. companies. Boost would like to thank them for their support. </p>
  183. <ul>
  184. <li>
  185. <img border="0" src="borland_logo.gif" align="center" width="70" height="28"><a href="http://www.borland.com/">Borland</a><br>
  186. &nbsp;</li>
  187. <li><a href="http://www.intel.com/software/products"><img
  188. src="intel_logo.gif" align="center" border="0" width="72"
  189. height="36">Intel Corporation</a><br>
  190. &nbsp;</li>
  191. <li>
  192. <img border="0" src="kai_logo.gif" width="65" height="27" align="center"> <a href="http://www.kai.com/">KAI
  193. Software</a><br>
  194. &nbsp;</li>
  195. <li>
  196. <img border="0" src="ms_logo.gif" align="center" width="113" height="35">
  197. <a href="http://msdn.microsoft.com/visualc/">Microsoft</a> <br>
  198. <br>
  199. </li>
  200. <li><a href="http://www.hp.com/">Hewlett-Packard Company</a><br>
  201. &nbsp;</li>
  202. <li><a href="http://www.lbl.gov">Lawrence Berkeley National
  203. Laboratory</a><br>
  204. &nbsp;</li>
  205. <li><a href="http://www.osl.iu.edu/">Open Systems Laboratory, University of
  206. Indiana</a></li>
  207. </ul>
  208. <p>Note, however, that Boost does not endorse any product or
  209. service, nor does Boost guarantee that some or all of its
  210. libraries work with any of the products or services mentioned
  211. above. </p>
  212. <hr>
  213. <p>Revised
  214. <!--webbot bot="Timestamp" s-type="EDITED"
  215. s-format="%d %B %Y" startspan -->22 January 2004<!--webbot bot="Timestamp" endspan i-checksum="32362" --></p>
  216. </body>
  217. </html>
粤ICP备19079148号