mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-10-25 10:00:23 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			684 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			684 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
| <head>
 | |
| <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 | |
| <title>Compilers</title>
 | |
| <link rel="stylesheet" href="../math.css" type="text/css">
 | |
| <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 | |
| <link rel="home" href="../index.html" title="Math Toolkit 2.5.1">
 | |
| <link rel="up" href="../overview.html" title="Chapter 1. Overview">
 | |
| <link rel="prev" href="error_handling.html" title="Error Handling">
 | |
| <link rel="next" href="config_macros.html" title="Configuration Macros">
 | |
| </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="../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="config_macros.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 | |
| </div>
 | |
| <div class="section">
 | |
| <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 | |
| <a name="math_toolkit.compilers_overview"></a><a class="link" href="compilers_overview.html" title="Compilers">Compilers</a>
 | |
| </h2></div></div></div>
 | |
| <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>
 | |
| <div class="table">
 | |
| <a name="math_toolkit.compilers_overview.supported_tested_compilers"></a><p class="title"><b>Table 1.9. 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 compatibility 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>
 | |
|                 Windows 7/Netbeans 7.2
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 Clang 3.1
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 Yes
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 Spot examples OK. Expect all tests to compile and run OK.
 | |
|               </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>
 | |
|                 Clang 3.2
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 Yes
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 All tests OK.
 | |
|               </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 rarely 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 rarely 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>
 | |
|                 Apple Mac OS X,
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 Clang 3.2
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 Yes
 | |
|               </p>
 | |
|             </td>
 | |
| <td>
 | |
|               <p>
 | |
|                 All tests expected to be OK.
 | |
|               </p>
 | |
|             </td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td>
 | |
|               <p>
 | |
|                 IBM 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>
 | |
| <br class="table-break"><div class="table">
 | |
| <a name="math_toolkit.compilers_overview.unsupported_compilers"></a><p class="title"><b>Table 1.10. 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>
 | |
| <br class="table-break"><p>
 | |
|       If your compiler or platform is not listed above, please try running the regression
 | |
|       tests: cd into boost-root/libs/math/test and do a:
 | |
|     </p>
 | |
| <pre class="programlisting"><span class="identifier">bjam</span> <span class="identifier">mytoolset</span>
 | |
| </pre>
 | |
| <p>
 | |
|       where "mytoolset" is the name of the <a href="http://www.boost.org/doc/html/bbv2.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>
 | |
| </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 © 2006-2010, 2012-2014 Nikhar Agrawal,
 | |
|       Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert
 | |
|       Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Johan Råde, Gautam Sewani,
 | |
|       Benjamin Sobotta, Thijs van den Berg, Daryle Walker and Xiaogang Zhang<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="../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="config_macros.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 | |
| </div>
 | |
| </body>
 | |
| </html>
 |