math/vc71_fix/instantiate_all.cpp
John Maddock ffbb796900 Apply VC-7.1 fixes: sometimes ADL fails, and we need a using declaration in order for the correct overload to be found.
Add missing #include. to t_distribution_inv.hpp.
Suppress unnecessary instantiations in instantiate_all.cpp.

[SVN r44748]
2008-04-24 09:40:31 +00:00

32 lines
1.1 KiB
C++

// Copyright John Maddock 2006.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
// MSVC-7.1 has a problem with our tests: sometimes when a
// function is used via a function pointer, it does *not*
// instantiate the template, leading to unresolved externals
// at link time. Therefore we create a small library that
// instantiates "everything", and link all our tests against
// it for msvc-7.1 only. Note that due to some BBv2 limitations
// we can not place this in a sub-folder of the test directory
// as that would lead to recursive project dependencies...
//
#define BOOST_MATH_ASSERT_UNDEFINED_POLICY false
#define BOOST_MATH_INSTANTIATE_MINIMUM
#include <boost/math/concepts/real_concept.hpp>
#include "../test/compile_test/instantiate.hpp"
void some_proc()
{
instantiate(float(0));
instantiate(double(0));
instantiate(static_cast<long double>(0));
instantiate(static_cast<boost::math::concepts::real_concept>(0));
}