<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Compilers</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
<link rel="home" href="../../index.html" title="Math Toolkit">
<link rel="up" href="../main_overview.html" title="Overview">
<link rel="prev" href="error_handling.html" title="Error Handling">
<link rel="next" href="pol_overview.html" title="Configuration and Policies">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="error_handling.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section" lang="en">
<div class="titlepage"><div><div><h3 class="title">
<a name="math_toolkit.main_overview.compilers_overview"></a><a class="link" href="compilers_overview.html" title="Compilers"> Compilers</a>
</h3></div></div></div>
<p>
        </p>
<p>
          This section contains some information about how various compilers work
          with this library. It is not comprehensive and updated experiences are
          always welcome. Some effort has been made to suppress unhelpful warnings
          but it is difficult to achieve this on all systems.
        </p>
<p>
        </p>
<div class="table">
<a name="math_toolkit.main_overview.compilers_overview.supported_tested_compilers"></a><p class="title"><b>Table&#160;9.&#160;Supported/Tested Compilers</b></p>
<div class="table-contents"><table class="table" summary="Supported/Tested Compilers">
<colgroup>
<col>
<col>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Platform
                  </p>
                </th>
<th>
                  <p>
                    Compiler
                  </p>
                </th>
<th>
                  <p>
                    Has long double support
                  </p>
                </th>
<th>
                  <p>
                    Notes
                  </p>
                </th>
</tr></thead>
<tbody>
<tr>
<td>
                  <p>
                    Windows
                  </p>
                </td>
<td>
                  <p>
                    MSVC 7.1 and later
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    We aim to keep our headers warning free at level 4 with this
                    compiler.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Windows
                  </p>
                </td>
<td>
                  <p>
                    Intel 8.1 and later
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    We aim to keep our headers warning free at level 4 with this
                    compiler. However, The tests cases tend to generate a lot of
                    warnings relating to numeric underflow of the test data: these
                    are harmless.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Windows
                  </p>
                </td>
<td>
                  <p>
                    GNU Mingw32 C++
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    We aim to keep our headers warning free with -Wall with this
                    compiler.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Windows
                  </p>
                </td>
<td>
                  <p>
                    GNU Cygwin C++
                  </p>
                </td>
<td>
                  <p>
                    No
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    We aim to keep our headers warning free with -Wall with this
                    compiler.
                  </p>
                  <p>
                    Long double support has been disabled because there are no native
                    long double C std library functions available.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Windows
                  </p>
                </td>
<td>
                  <p>
                    Borland C++ 5.8.2 (Developer studio 2006)
                  </p>
                </td>
<td>
                  <p>
                    No
                  </p>
                </td>
<td>
                  <p>
                    We have only partial compatability with this compiler:
                  </p>
                  <p>
                    Long double support has been disabled because the native long
                    double C standard library functions really only forward to the
                    double versions. This can result in unpredictable behaviour when
                    using the long double overloads: for example <code class="computeroutput"><span class="identifier">sqrtl</span></code>
                    applied to a finite value, can result in an infinite result.
                  </p>
                  <p>
                    Some functions still fail to compile, there are no known workarounds
                    at present.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Linux
                  </p>
                </td>
<td>
                  <p>
                    GNU C++ 3.4 and later
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    We aim to keep our headers warning free with -Wall with this
                    compiler.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Linux
                  </p>
                </td>
<td>
                  <p>
                    Intel C++ 10.0 and later
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    We aim to keep our headers warning free with -Wall with this
                    compiler. However, The tests cases tend to generate a lot of
                    warnings relating to numeric underflow of the test data: these
                    are harmless.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Linux
                  </p>
                </td>
<td>
                  <p>
                    Intel C++ 8.1 and 9.1
                  </p>
                </td>
<td>
                  <p>
                    No
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    Long double support has been disabled with these compiler releases
                    because calling the standard library long double math functions
                    can result in a segfault. The issue is Linux distribution and
                    glibc version specific and is Intel bug report #409291. Fully
                    up to date releases of Intel 9.1 (post version l_cc_c_9.1.046)
                    shouldn't have this problem. If you need long double support
                    with this compiler, then comment out the define of BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS
                    at line 55 of <a href="../../../../../../../boost/math/tools/config.hpp" target="_top">boost/math/tools/config.hpp</a>.
                  </p>
                  <p>
                    We aim to keep our headers warning free with -Wall with this
                    compiler. However, The tests cases tend to generate a lot of
                    warnings relating to numeric underflow of the test data: these
                    are harmless.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Linux
                  </p>
                </td>
<td>
                  <p>
                    QLogic PathScale 3.0
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    Some tests involving conceptual checks fail to build, otherwise
                    there appear to be no issues.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Linux
                  </p>
                </td>
<td>
                  <p>
                    Sun Studio 12
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    Some tests involving function overload resolution fail to build,
                    these issues should be rairly encountered in practice.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Solaris
                  </p>
                </td>
<td>
                  <p>
                    Sun Studio 12
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    Some tests involving function overload resolution fail to build,
                    these issues should be rairly encountered in practice.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Solaris
                  </p>
                </td>
<td>
                  <p>
                    GNU C++ 4.x
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    We aim to keep our headers warning free with -Wall with this
                    compiler.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    HP Tru64
                  </p>
                </td>
<td>
                  <p>
                    Compaq C++ 7.1
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    HP-UX Itanium
                  </p>
                </td>
<td>
                  <p>
                    HP aCC 6.x
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    Unfortunately this compiler emits quite a few warnings from libraries
                    upon which we depend (TR1, Array etc).
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    HP-UX PA-RISC
                  </p>
                </td>
<td>
                  <p>
                    GNU C++ 3.4
                  </p>
                </td>
<td>
                  <p>
                    No
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Apple Mac OS X, Intel
                  </p>
                </td>
<td>
                  <p>
                    Darwin/GNU C++ 4.x
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Apple Mac OS X, PowerPC
                  </p>
                </td>
<td>
                  <p>
                    Darwin/GNU C++ 4.x
                  </p>
                </td>
<td>
                  <p>
                    No
                  </p>
                </td>
<td>
                  <p>
                    All tests OK.
                  </p>
                  <p>
                    Long double support has been disabled on this platform due to
                    the rather strange nature of Darwin's 106-bit long double implementation.
                    It should be possible to make this work if someone is prepared
                    to offer assistance.
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    IMB AIX
                  </p>
                </td>
<td>
                  <p>
                    IBM xlc 5.3
                  </p>
                </td>
<td>
                  <p>
                    Yes
                  </p>
                </td>
<td>
                  <p>
                    All tests pass except for our fpclassify tests which fail due
                    to a bug in <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span></code>,
                    the bug effects the test code, not fpclassify itself. The IBM
                    compiler group are aware of the problem.
                  </p>
                </td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
        </p>
<div class="table">
<a name="math_toolkit.main_overview.compilers_overview.unsupported_compilers"></a><p class="title"><b>Table&#160;10.&#160;Unsupported Compilers</b></p>
<div class="table-contents"><table class="table" summary="Unsupported Compilers">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
                  <p>
                    Platform
                  </p>
                </th>
<th>
                  <p>
                    Compiler
                  </p>
                </th>
</tr></thead>
<tbody>
<tr>
<td>
                  <p>
                    Windows
                  </p>
                </td>
<td>
                  <p>
                    Borland C++ 5.9.2 (Borland Developer Studio 2007)
                  </p>
                </td>
</tr>
<tr>
<td>
                  <p>
                    Windows
                  </p>
                </td>
<td>
                  <p>
                    MSVC 6 and 7
                  </p>
                </td>
</tr>
</tbody>
</table></div>
</div>
<p><br class="table-break">
        </p>
<p>
          If you're compiler or platform is not listed above, please try running
          the regression tests: cd into boost-root/libs/math/test and do a:
        </p>
<p>
        
</p>
<pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">mytoolset</span>
</pre>
<p>
        </p>
<p>
          where "mytoolset" is the name of the <a href="../../../../../../../tools/build/index.html" target="_top">Boost.Build</a>
          toolset used for your compiler. The chances are that <span class="bold"><strong>many
          of the accuracy tests will fail at this stage</strong></span> - don't panic
          - the default acceptable error tolerances are quite tight, especially for
          long double types with an extended exponent range (these cause more extreme
          test cases to be executed for some functions). You will need to cast an
          eye over the output from the failing tests and make a judgement as to whether
          the error rates are acceptable or not.
        </p>
<p>
      </p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2006 , 2007, 2008, 2009, 2010 John Maddock, Paul A. Bristow,
      Hubert Holin, Xiaogang Zhang, Bruno Lalande, Johan R&#229;de, Gautam Sewani and
      Thijs van den Berg<p>
        Distributed under the Boost Software License, Version 1.0. (See accompanying
        file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
      </p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="error_handling.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="pol_overview.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
