Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r59129 - in trunk: boost/math boost/math/distributions boost/math/special_functions/detail libs/math/performance libs/math/src/tr1
From: john_at_[hidden]
Date: 2010-01-18 12:07:14


Author: johnmaddock
Date: 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
New Revision: 59129
URL: http://svn.boost.org/trac/boost/changeset/59129

Log:
Add tgamma1pm1 speed test.
Suppress some more gcc warnings: in particular make sure that our C99 functions have the same throw specification as the functions in math.h.
Text files modified:
   trunk/boost/math/distributions/fisher_f.hpp | 4
   trunk/boost/math/special_functions/detail/t_distribution_inv.hpp | 2
   trunk/boost/math/tr1.hpp | 417 ++++++++++++++++++++-------------------
   trunk/libs/math/performance/test_gamma.cpp | 18 +
   trunk/libs/math/src/tr1/acosh.cpp | 2
   trunk/libs/math/src/tr1/acoshf.cpp | 2
   trunk/libs/math/src/tr1/acoshl.cpp | 2
   trunk/libs/math/src/tr1/asinh.cpp | 2
   trunk/libs/math/src/tr1/asinhf.cpp | 2
   trunk/libs/math/src/tr1/asinhl.cpp | 2
   trunk/libs/math/src/tr1/assoc_laguerre.cpp | 2
   trunk/libs/math/src/tr1/assoc_laguerref.cpp | 2
   trunk/libs/math/src/tr1/assoc_laguerrel.cpp | 2
   trunk/libs/math/src/tr1/assoc_legendre.cpp | 2
   trunk/libs/math/src/tr1/assoc_legendref.cpp | 2
   trunk/libs/math/src/tr1/assoc_legendrel.cpp | 2
   trunk/libs/math/src/tr1/atanh.cpp | 2
   trunk/libs/math/src/tr1/atanhf.cpp | 2
   trunk/libs/math/src/tr1/atanhl.cpp | 2
   trunk/libs/math/src/tr1/beta.cpp | 2
   trunk/libs/math/src/tr1/betaf.cpp | 2
   trunk/libs/math/src/tr1/betal.cpp | 2
   trunk/libs/math/src/tr1/cbrt.cpp | 2
   trunk/libs/math/src/tr1/cbrtf.cpp | 2
   trunk/libs/math/src/tr1/cbrtl.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_1.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_1f.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_1l.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_2.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_2f.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_2l.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_3.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_3f.cpp | 2
   trunk/libs/math/src/tr1/comp_ellint_3l.cpp | 2
   trunk/libs/math/src/tr1/copysign.cpp | 2
   trunk/libs/math/src/tr1/copysignf.cpp | 2
   trunk/libs/math/src/tr1/copysignl.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_i.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_if.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_il.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_j.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_jf.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_jl.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_k.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_kf.cpp | 2
   trunk/libs/math/src/tr1/cyl_bessel_kl.cpp | 2
   trunk/libs/math/src/tr1/cyl_neumann.cpp | 2
   trunk/libs/math/src/tr1/cyl_neumannf.cpp | 2
   trunk/libs/math/src/tr1/cyl_neumannl.cpp | 2
   trunk/libs/math/src/tr1/ellint_1.cpp | 2
   trunk/libs/math/src/tr1/ellint_1f.cpp | 2
   trunk/libs/math/src/tr1/ellint_1l.cpp | 2
   trunk/libs/math/src/tr1/ellint_2.cpp | 2
   trunk/libs/math/src/tr1/ellint_2f.cpp | 2
   trunk/libs/math/src/tr1/ellint_2l.cpp | 2
   trunk/libs/math/src/tr1/ellint_3.cpp | 2
   trunk/libs/math/src/tr1/ellint_3f.cpp | 2
   trunk/libs/math/src/tr1/ellint_3l.cpp | 2
   trunk/libs/math/src/tr1/erf.cpp | 2
   trunk/libs/math/src/tr1/erfc.cpp | 2
   trunk/libs/math/src/tr1/erfcf.cpp | 2
   trunk/libs/math/src/tr1/erfcl.cpp | 2
   trunk/libs/math/src/tr1/erff.cpp | 2
   trunk/libs/math/src/tr1/erfl.cpp | 2
   trunk/libs/math/src/tr1/expint.cpp | 2
   trunk/libs/math/src/tr1/expintf.cpp | 2
   trunk/libs/math/src/tr1/expintl.cpp | 2
   trunk/libs/math/src/tr1/expm1.cpp | 2
   trunk/libs/math/src/tr1/expm1f.cpp | 2
   trunk/libs/math/src/tr1/expm1l.cpp | 2
   trunk/libs/math/src/tr1/fmax.cpp | 2
   trunk/libs/math/src/tr1/fmaxf.cpp | 2
   trunk/libs/math/src/tr1/fmaxl.cpp | 2
   trunk/libs/math/src/tr1/fmin.cpp | 2
   trunk/libs/math/src/tr1/fminf.cpp | 2
   trunk/libs/math/src/tr1/fminl.cpp | 2
   trunk/libs/math/src/tr1/hermite.cpp | 2
   trunk/libs/math/src/tr1/hermitef.cpp | 2
   trunk/libs/math/src/tr1/hermitel.cpp | 2
   trunk/libs/math/src/tr1/hypot.cpp | 2
   trunk/libs/math/src/tr1/hypotf.cpp | 2
   trunk/libs/math/src/tr1/hypotl.cpp | 2
   trunk/libs/math/src/tr1/laguerre.cpp | 2
   trunk/libs/math/src/tr1/laguerref.cpp | 2
   trunk/libs/math/src/tr1/laguerrel.cpp | 2
   trunk/libs/math/src/tr1/legendre.cpp | 2
   trunk/libs/math/src/tr1/legendref.cpp | 2
   trunk/libs/math/src/tr1/legendrel.cpp | 2
   trunk/libs/math/src/tr1/lgamma.cpp | 2
   trunk/libs/math/src/tr1/lgammaf.cpp | 2
   trunk/libs/math/src/tr1/lgammal.cpp | 2
   trunk/libs/math/src/tr1/llround.cpp | 2
   trunk/libs/math/src/tr1/llroundf.cpp | 2
   trunk/libs/math/src/tr1/llroundl.cpp | 2
   trunk/libs/math/src/tr1/log1p.cpp | 2
   trunk/libs/math/src/tr1/log1pf.cpp | 2
   trunk/libs/math/src/tr1/log1pl.cpp | 2
   trunk/libs/math/src/tr1/lround.cpp | 2
   trunk/libs/math/src/tr1/lroundf.cpp | 2
   trunk/libs/math/src/tr1/lroundl.cpp | 2
   trunk/libs/math/src/tr1/nextafter.cpp | 2
   trunk/libs/math/src/tr1/nextafterf.cpp | 2
   trunk/libs/math/src/tr1/nextafterl.cpp | 2
   trunk/libs/math/src/tr1/nexttoward.cpp | 2
   trunk/libs/math/src/tr1/nexttowardf.cpp | 2
   trunk/libs/math/src/tr1/nexttowardl.cpp | 2
   trunk/libs/math/src/tr1/riemann_zeta.cpp | 2
   trunk/libs/math/src/tr1/riemann_zetaf.cpp | 2
   trunk/libs/math/src/tr1/riemann_zetal.cpp | 2
   trunk/libs/math/src/tr1/round.cpp | 2
   trunk/libs/math/src/tr1/roundf.cpp | 2
   trunk/libs/math/src/tr1/roundl.cpp | 2
   trunk/libs/math/src/tr1/sph_bessel.cpp | 2
   trunk/libs/math/src/tr1/sph_besself.cpp | 2
   trunk/libs/math/src/tr1/sph_bessell.cpp | 2
   trunk/libs/math/src/tr1/sph_legendre.cpp | 2
   trunk/libs/math/src/tr1/sph_legendref.cpp | 2
   trunk/libs/math/src/tr1/sph_legendrel.cpp | 2
   trunk/libs/math/src/tr1/sph_neumann.cpp | 2
   trunk/libs/math/src/tr1/sph_neumannf.cpp | 2
   trunk/libs/math/src/tr1/sph_neumannl.cpp | 2
   trunk/libs/math/src/tr1/tgamma.cpp | 2
   trunk/libs/math/src/tr1/tgammaf.cpp | 2
   trunk/libs/math/src/tr1/tgammal.cpp | 2
   trunk/libs/math/src/tr1/trunc.cpp | 2
   trunk/libs/math/src/tr1/truncf.cpp | 2
   trunk/libs/math/src/tr1/truncl.cpp | 2
   127 files changed, 359 insertions(+), 328 deletions(-)

Modified: trunk/boost/math/distributions/fisher_f.hpp
==============================================================================
--- trunk/boost/math/distributions/fisher_f.hpp (original)
+++ trunk/boost/math/distributions/fisher_f.hpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -177,7 +177,9 @@
             function, p, &error_result, Policy()))
       return error_result;
 
- RealType x, y;
+ // With optimizations turned on, gcc wrongly warns about y being used
+ // uninitializated unless we initialize it to something:
+ RealType x, y(0);
 
    x = boost::math::ibeta_inv(df1 / 2, df2 / 2, p, &y, Policy());
 

Modified: trunk/boost/math/special_functions/detail/t_distribution_inv.hpp
==============================================================================
--- trunk/boost/math/special_functions/detail/t_distribution_inv.hpp (original)
+++ trunk/boost/math/special_functions/detail/t_distribution_inv.hpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -430,7 +430,7 @@
    // required precision so not so fast:
    //
    T probability = (p > 0.5) ? 1 - p : p;
- T t, x, y;
+ T t, x, y(0);
    x = ibeta_inv(df / 2, T(0.5), 2 * probability, &y, pol);
    if(df * y > tools::max_value<T>() * x)
       t = policies::raise_overflow_error<T>("boost::math::students_t_quantile<%1%>(%1%,%1%)", 0, pol);

Modified: trunk/boost/math/tr1.hpp
==============================================================================
--- trunk/boost/math/tr1.hpp (original)
+++ trunk/boost/math/tr1.hpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,6 +11,8 @@
 #pragma once
 #endif
 
+#include <math.h> // So we can check which std C lib we're using
+
 #ifdef __cplusplus
 
 #include <boost/config.hpp>
@@ -39,6 +41,15 @@
 #ifndef BOOST_MATH_TR1_DECL
 #define BOOST_MATH_TR1_DECL
 #endif
+//
+// Set any throw specifications on the C99 extern "C" functions - these have to be
+// the same as used in the std lib if any.
+//
+#if defined(__GLIBC__) && defined(__THROW)
+# define BOOST_MATH_C99_THROW_SPEC __THROW
+#else
+# define BOOST_MATH_C99_THROW_SPEC
+#endif
 
 //
 // Now set up the libraries to link against:
@@ -109,260 +120,260 @@
 #endif
 
 // C99 Functions:
-double BOOST_MATH_TR1_DECL acosh BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-
-double BOOST_MATH_TR1_DECL asinh BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-
-double BOOST_MATH_TR1_DECL atanh BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-
-double BOOST_MATH_TR1_DECL cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-
-double BOOST_MATH_TR1_DECL copysign BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-
-double BOOST_MATH_TR1_DECL erf BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL erff BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL erfl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-
-double BOOST_MATH_TR1_DECL erfc BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#if 0
-double BOOST_MATH_TR1_DECL exp2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL exp2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL exp2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#endif
-double BOOST_MATH_TR1_DECL boost_expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL boost_expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL boost_expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#if 0
-double BOOST_MATH_TR1_DECL fdim BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL fdimf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL fdiml BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-double BOOST_MATH_TR1_DECL fma BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, double z);
-float BOOST_MATH_TR1_DECL fmaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, float z);
-long double BOOST_MATH_TR1_DECL fmal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, long double z);
-#endif
-double BOOST_MATH_TR1_DECL fmax BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-
-double BOOST_MATH_TR1_DECL fmin BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL fminf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL fminl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-
-double BOOST_MATH_TR1_DECL hypot BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-#if 0
-int BOOST_MATH_TR1_DECL ilogb BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-int BOOST_MATH_TR1_DECL ilogbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-int BOOST_MATH_TR1_DECL ilogbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#endif
-double BOOST_MATH_TR1_DECL lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
+double BOOST_MATH_TR1_DECL acosh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL asinh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL atanh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL copysign BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL erf BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL erff BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL erfl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL erfc BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#if 0
+double BOOST_MATH_TR1_DECL exp2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL exp2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL exp2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#endif
+double BOOST_MATH_TR1_DECL boost_expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL boost_expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL boost_expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#if 0
+double BOOST_MATH_TR1_DECL fdim BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL fdimf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL fdiml BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+double BOOST_MATH_TR1_DECL fma BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, double z) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL fmaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, float z) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL fmal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, long double z) BOOST_MATH_C99_THROW_SPEC;
+#endif
+double BOOST_MATH_TR1_DECL fmax BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL fmin BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL fminf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL fminl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL hypot BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+#if 0
+int BOOST_MATH_TR1_DECL ilogb BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+int BOOST_MATH_TR1_DECL ilogbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+int BOOST_MATH_TR1_DECL ilogbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#endif
+double BOOST_MATH_TR1_DECL lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
 #ifdef BOOST_HAS_LONG_LONG
 #if 0
-::boost::long_long_type BOOST_MATH_TR1_DECL llrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-::boost::long_long_type BOOST_MATH_TR1_DECL llrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-::boost::long_long_type BOOST_MATH_TR1_DECL llrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#endif
-::boost::long_long_type BOOST_MATH_TR1_DECL llround BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-::boost::long_long_type BOOST_MATH_TR1_DECL llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-::boost::long_long_type BOOST_MATH_TR1_DECL llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#endif
-double BOOST_MATH_TR1_DECL boost_log1p BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL boost_log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL boost_log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#if 0
-double BOOST_MATH_TR1_DECL log2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL log2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL log2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-
-double BOOST_MATH_TR1_DECL logb BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL logbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL logbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-long BOOST_MATH_TR1_DECL lrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-long BOOST_MATH_TR1_DECL lrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long BOOST_MATH_TR1_DECL lrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#endif
-long BOOST_MATH_TR1_DECL lround BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-long BOOST_MATH_TR1_DECL lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long BOOST_MATH_TR1_DECL lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#if 0
-double BOOST_MATH_TR1_DECL nan BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str);
-float BOOST_MATH_TR1_DECL nanf BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str);
-long double BOOST_MATH_TR1_DECL nanl BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str);
-double BOOST_MATH_TR1_DECL nearbyint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL nearbyintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL nearbyintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#endif
-double BOOST_MATH_TR1_DECL boost_nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL boost_nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL boost_nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-
-double BOOST_MATH_TR1_DECL nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long double y);
-float BOOST_MATH_TR1_DECL nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long double y);
-long double BOOST_MATH_TR1_DECL nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-#if 0
-double BOOST_MATH_TR1_DECL remainder BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL remainderf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL remainderl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
-double BOOST_MATH_TR1_DECL remquo BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, int *pquo);
-float BOOST_MATH_TR1_DECL remquof BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, int *pquo);
-long double BOOST_MATH_TR1_DECL remquol BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, int *pquo);
-double BOOST_MATH_TR1_DECL rint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL rintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL rintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#endif
-double BOOST_MATH_TR1_DECL round BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL roundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL roundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-#if 0
-double BOOST_MATH_TR1_DECL scalbln BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long ex);
-float BOOST_MATH_TR1_DECL scalblnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long ex);
-long double BOOST_MATH_TR1_DECL scalblnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long ex);
-double BOOST_MATH_TR1_DECL scalbn BOOST_PREVENT_MACRO_SUBSTITUTION(double x, int ex);
-float BOOST_MATH_TR1_DECL scalbnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, int ex);
-long double BOOST_MATH_TR1_DECL scalbnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, int ex);
-#endif
-double BOOST_MATH_TR1_DECL tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
-
-double BOOST_MATH_TR1_DECL trunc BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL truncf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL truncl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
+::boost::long_long_type BOOST_MATH_TR1_DECL llrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+::boost::long_long_type BOOST_MATH_TR1_DECL llrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+::boost::long_long_type BOOST_MATH_TR1_DECL llrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#endif
+::boost::long_long_type BOOST_MATH_TR1_DECL llround BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+::boost::long_long_type BOOST_MATH_TR1_DECL llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+::boost::long_long_type BOOST_MATH_TR1_DECL llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#endif
+double BOOST_MATH_TR1_DECL boost_log1p BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL boost_log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL boost_log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#if 0
+double BOOST_MATH_TR1_DECL log2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL log2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL log2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL logb BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL logbf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL logbl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+long BOOST_MATH_TR1_DECL lrint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+long BOOST_MATH_TR1_DECL lrintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long BOOST_MATH_TR1_DECL lrintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#endif
+long BOOST_MATH_TR1_DECL lround BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+long BOOST_MATH_TR1_DECL lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long BOOST_MATH_TR1_DECL lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#if 0
+double BOOST_MATH_TR1_DECL nan BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL nanf BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL nanl BOOST_PREVENT_MACRO_SUBSTITUTION(const char *str) BOOST_MATH_C99_THROW_SPEC;
+double BOOST_MATH_TR1_DECL nearbyint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL nearbyintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL nearbyintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#endif
+double BOOST_MATH_TR1_DECL boost_nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL boost_nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL boost_nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long double y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+#if 0
+double BOOST_MATH_TR1_DECL remainder BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL remainderf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL remainderl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
+double BOOST_MATH_TR1_DECL remquo BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y, int *pquo) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL remquof BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y, int *pquo) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL remquol BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y, int *pquo) BOOST_MATH_C99_THROW_SPEC;
+double BOOST_MATH_TR1_DECL rint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL rintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL rintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#endif
+double BOOST_MATH_TR1_DECL round BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL roundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL roundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+#if 0
+double BOOST_MATH_TR1_DECL scalbln BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long ex) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL scalblnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long ex) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL scalblnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long ex) BOOST_MATH_C99_THROW_SPEC;
+double BOOST_MATH_TR1_DECL scalbn BOOST_PREVENT_MACRO_SUBSTITUTION(double x, int ex) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL scalbnf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, int ex) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL scalbnl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, int ex) BOOST_MATH_C99_THROW_SPEC;
+#endif
+double BOOST_MATH_TR1_DECL tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
+
+double BOOST_MATH_TR1_DECL trunc BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL truncf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL truncl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.1] associated Laguerre polynomials:
-double BOOST_MATH_TR1_DECL assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x);
-float BOOST_MATH_TR1_DECL assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x);
-long double BOOST_MATH_TR1_DECL assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x);
+double BOOST_MATH_TR1_DECL assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.2] associated Legendre functions:
-double BOOST_MATH_TR1_DECL assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double x);
-float BOOST_MATH_TR1_DECL assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float x);
-long double BOOST_MATH_TR1_DECL assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double x);
+double BOOST_MATH_TR1_DECL assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.3] beta function:
-double BOOST_MATH_TR1_DECL beta BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y);
-float BOOST_MATH_TR1_DECL betaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y);
-long double BOOST_MATH_TR1_DECL betal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y);
+double BOOST_MATH_TR1_DECL beta BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL betaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL betal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.4] (complete) elliptic integral of the first kind:
-double BOOST_MATH_TR1_DECL comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k);
-float BOOST_MATH_TR1_DECL comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k);
-long double BOOST_MATH_TR1_DECL comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k);
+double BOOST_MATH_TR1_DECL comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.5] (complete) elliptic integral of the second kind:
-double BOOST_MATH_TR1_DECL comp_ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k);
-float BOOST_MATH_TR1_DECL comp_ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k);
-long double BOOST_MATH_TR1_DECL comp_ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k);
+double BOOST_MATH_TR1_DECL comp_ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL comp_ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL comp_ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.6] (complete) elliptic integral of the third kind:
-double BOOST_MATH_TR1_DECL comp_ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu);
-float BOOST_MATH_TR1_DECL comp_ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu);
-long double BOOST_MATH_TR1_DECL comp_ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu);
+double BOOST_MATH_TR1_DECL comp_ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL comp_ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL comp_ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu) BOOST_MATH_C99_THROW_SPEC;
 #if 0
 // [5.2.1.7] confluent hypergeometric functions:
-double BOOST_MATH_TR1_DECL conf_hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double c, double x);
-float BOOST_MATH_TR1_DECL conf_hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float c, float x);
-long double BOOST_MATH_TR1_DECL conf_hypergl BOOST_PREVENT_MACRO_SUBSTITUTION(long double a, long double c, long double x);
+double BOOST_MATH_TR1_DECL conf_hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double c, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL conf_hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float c, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL conf_hypergl BOOST_PREVENT_MACRO_SUBSTITUTION(long double a, long double c, long double x) BOOST_MATH_C99_THROW_SPEC;
 #endif
 // [5.2.1.8] regular modified cylindrical Bessel functions:
-double BOOST_MATH_TR1_DECL cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x);
-float BOOST_MATH_TR1_DECL cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x);
-long double BOOST_MATH_TR1_DECL cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x);
+double BOOST_MATH_TR1_DECL cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.9] cylindrical Bessel functions (of the first kind):
-double BOOST_MATH_TR1_DECL cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x);
-float BOOST_MATH_TR1_DECL cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x);
-long double BOOST_MATH_TR1_DECL cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x);
+double BOOST_MATH_TR1_DECL cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.10] irregular modified cylindrical Bessel functions:
-double BOOST_MATH_TR1_DECL cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x);
-float BOOST_MATH_TR1_DECL cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x);
-long double BOOST_MATH_TR1_DECL cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x);
+double BOOST_MATH_TR1_DECL cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
 
-// [5.2.1.11] cylindrical Neumann functions;
+// [5.2.1.11] cylindrical Neumann functions BOOST_MATH_C99_THROW_SPEC;
 // cylindrical Bessel functions (of the second kind):
-double BOOST_MATH_TR1_DECL cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x);
-float BOOST_MATH_TR1_DECL cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x);
-long double BOOST_MATH_TR1_DECL cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x);
+double BOOST_MATH_TR1_DECL cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.12] (incomplete) elliptic integral of the first kind:
-double BOOST_MATH_TR1_DECL ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi);
-float BOOST_MATH_TR1_DECL ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi);
-long double BOOST_MATH_TR1_DECL ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi);
+double BOOST_MATH_TR1_DECL ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.13] (incomplete) elliptic integral of the second kind:
-double BOOST_MATH_TR1_DECL ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi);
-float BOOST_MATH_TR1_DECL ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi);
-long double BOOST_MATH_TR1_DECL ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi);
+double BOOST_MATH_TR1_DECL ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.14] (incomplete) elliptic integral of the third kind:
-double BOOST_MATH_TR1_DECL ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu, double phi);
-float BOOST_MATH_TR1_DECL ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu, float phi);
-long double BOOST_MATH_TR1_DECL ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu, long double phi);
+double BOOST_MATH_TR1_DECL ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu, double phi) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu, float phi) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu, long double phi) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.15] exponential integral:
-double BOOST_MATH_TR1_DECL expint BOOST_PREVENT_MACRO_SUBSTITUTION(double x);
-float BOOST_MATH_TR1_DECL expintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x);
-long double BOOST_MATH_TR1_DECL expintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x);
+double BOOST_MATH_TR1_DECL expint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL expintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL expintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.16] Hermite polynomials:
-double BOOST_MATH_TR1_DECL hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x);
-float BOOST_MATH_TR1_DECL hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x);
-long double BOOST_MATH_TR1_DECL hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x);
+double BOOST_MATH_TR1_DECL hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 #if 0
 // [5.2.1.17] hypergeometric functions:
-double BOOST_MATH_TR1_DECL hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double b, double c, double x);
-float BOOST_MATH_TR1_DECL hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float b, float c, float x);
+double BOOST_MATH_TR1_DECL hyperg BOOST_PREVENT_MACRO_SUBSTITUTION(double a, double b, double c, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL hypergf BOOST_PREVENT_MACRO_SUBSTITUTION(float a, float b, float c, float x) BOOST_MATH_C99_THROW_SPEC;
 long double BOOST_MATH_TR1_DECL hypergl BOOST_PREVENT_MACRO_SUBSTITUTION(long double a, long double b, long double c,
-long double x);
+long double x) BOOST_MATH_C99_THROW_SPEC;
 #endif
 
 // [5.2.1.18] Laguerre polynomials:
-double BOOST_MATH_TR1_DECL laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x);
-float BOOST_MATH_TR1_DECL laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x);
-long double BOOST_MATH_TR1_DECL laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x);
+double BOOST_MATH_TR1_DECL laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.19] Legendre polynomials:
-double BOOST_MATH_TR1_DECL legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, double x);
-float BOOST_MATH_TR1_DECL legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, float x);
-long double BOOST_MATH_TR1_DECL legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, long double x);
+double BOOST_MATH_TR1_DECL legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.20] Riemann zeta function:
-double BOOST_MATH_TR1_DECL riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(double);
-float BOOST_MATH_TR1_DECL riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(float);
-long double BOOST_MATH_TR1_DECL riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(long double);
+double BOOST_MATH_TR1_DECL riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(double) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(float) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(long double) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.21] spherical Bessel functions (of the first kind):
-double BOOST_MATH_TR1_DECL sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x);
-float BOOST_MATH_TR1_DECL sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x);
-long double BOOST_MATH_TR1_DECL sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x);
+double BOOST_MATH_TR1_DECL sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 // [5.2.1.22] spherical associated Legendre functions:
-double BOOST_MATH_TR1_DECL sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double theta);
-float BOOST_MATH_TR1_DECL sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float theta);
-long double BOOST_MATH_TR1_DECL sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double theta);
+double BOOST_MATH_TR1_DECL sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double theta) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float theta) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double theta) BOOST_MATH_C99_THROW_SPEC;
 
-// [5.2.1.23] spherical Neumann functions;
+// [5.2.1.23] spherical Neumann functions BOOST_MATH_C99_THROW_SPEC;
 // spherical Bessel functions (of the second kind):
-double BOOST_MATH_TR1_DECL sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x);
-float BOOST_MATH_TR1_DECL sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x);
-long double BOOST_MATH_TR1_DECL sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x);
+double BOOST_MATH_TR1_DECL sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC;
+float BOOST_MATH_TR1_DECL sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC;
+long double BOOST_MATH_TR1_DECL sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC;
 
 #ifdef __cplusplus
 

Modified: trunk/libs/math/performance/test_gamma.cpp
==============================================================================
--- trunk/libs/math/performance/test_gamma.cpp (original)
+++ trunk/libs/math/performance/test_gamma.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -69,6 +69,24 @@
       + sizeof(near_m55)) / sizeof(factorials[0]));
 }
 
+template <std::size_t N>
+double tgamma1pm1_evaluate2(const boost::array<boost::array<T, 2>, N>& data)
+{
+ double result = 0;
+ for(unsigned i = 0; i < N; ++i)
+ result += boost::math::tgamma1pm1(data[i][0]);
+ return result;
+}
+
+BOOST_MATH_PERFORMANCE_TEST(gamma1pm1_test, "tgamma1pm1")
+{
+ double result = tgamma1pm1_evaluate2(gammap1m1_data);
+
+ consume_result(result);
+ set_call_count(
+ sizeof(gammap1m1_data) / sizeof(gammap1m1_data[0]));
+}
+
 #ifdef TEST_CEPHES
 
 extern "C" {

Modified: trunk/libs/math/src/tr1/acosh.cpp
==============================================================================
--- trunk/libs/math/src/tr1/acosh.cpp (original)
+++ trunk/libs/math/src/tr1/acosh.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/acosh.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL acosh BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL acosh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::acosh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/acoshf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/acoshf.cpp (original)
+++ trunk/libs/math/src/tr1/acoshf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/acosh.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL acoshf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::acosh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/acoshl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/acoshl.cpp (original)
+++ trunk/libs/math/src/tr1/acoshl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/acosh.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL acoshl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::acosh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/asinh.cpp
==============================================================================
--- trunk/libs/math/src/tr1/asinh.cpp (original)
+++ trunk/libs/math/src/tr1/asinh.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/asinh.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL asinh BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL asinh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::asinh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/asinhf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/asinhf.cpp (original)
+++ trunk/libs/math/src/tr1/asinhf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/asinh.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL asinhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::asinh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/asinhl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/asinhl.cpp (original)
+++ trunk/libs/math/src/tr1/asinhl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/asinh.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL asinhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::asinh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/assoc_laguerre.cpp
==============================================================================
--- trunk/libs/math/src/tr1/assoc_laguerre.cpp (original)
+++ trunk/libs/math/src/tr1/assoc_laguerre.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/laguerre.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x)
+extern "C" double BOOST_MATH_TR1_DECL assoc_laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x);
 }

Modified: trunk/libs/math/src/tr1/assoc_laguerref.cpp
==============================================================================
--- trunk/libs/math/src/tr1/assoc_laguerref.cpp (original)
+++ trunk/libs/math/src/tr1/assoc_laguerref.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/laguerre.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x)
+extern "C" float BOOST_MATH_TR1_DECL assoc_laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x);
 }

Modified: trunk/libs/math/src/tr1/assoc_laguerrel.cpp
==============================================================================
--- trunk/libs/math/src/tr1/assoc_laguerrel.cpp (original)
+++ trunk/libs/math/src/tr1/assoc_laguerrel.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/laguerre.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL assoc_laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x);
 }

Modified: trunk/libs/math/src/tr1/assoc_legendre.cpp
==============================================================================
--- trunk/libs/math/src/tr1/assoc_legendre.cpp (original)
+++ trunk/libs/math/src/tr1/assoc_legendre.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/legendre.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double x)
+extern "C" double BOOST_MATH_TR1_DECL assoc_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return (m&1 ? -1 : 1) * c_policies::legendre_p BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x);
 }

Modified: trunk/libs/math/src/tr1/assoc_legendref.cpp
==============================================================================
--- trunk/libs/math/src/tr1/assoc_legendref.cpp (original)
+++ trunk/libs/math/src/tr1/assoc_legendref.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/legendre.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float x)
+extern "C" float BOOST_MATH_TR1_DECL assoc_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return (m&1 ? -1 : 1) * c_policies::legendre_p BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x);
 }

Modified: trunk/libs/math/src/tr1/assoc_legendrel.cpp
==============================================================================
--- trunk/libs/math/src/tr1/assoc_legendrel.cpp (original)
+++ trunk/libs/math/src/tr1/assoc_legendrel.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/legendre.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL assoc_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned l, unsigned m, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return (m&1 ? -1 : 1) * c_policies::legendre_p BOOST_PREVENT_MACRO_SUBSTITUTION(l, m, x);
 }

Modified: trunk/libs/math/src/tr1/atanh.cpp
==============================================================================
--- trunk/libs/math/src/tr1/atanh.cpp (original)
+++ trunk/libs/math/src/tr1/atanh.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/atanh.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL atanh BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL atanh BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::atanh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/atanhf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/atanhf.cpp (original)
+++ trunk/libs/math/src/tr1/atanhf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/atanh.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL atanhf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::atanh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/atanhl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/atanhl.cpp (original)
+++ trunk/libs/math/src/tr1/atanhl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/atanh.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL atanhl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::atanh BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/beta.cpp
==============================================================================
--- trunk/libs/math/src/tr1/beta.cpp (original)
+++ trunk/libs/math/src/tr1/beta.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/beta.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL beta BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
+extern "C" double BOOST_MATH_TR1_DECL beta BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::beta BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/betaf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/betaf.cpp (original)
+++ trunk/libs/math/src/tr1/betaf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/beta.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL betaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
+extern "C" float BOOST_MATH_TR1_DECL betaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::beta BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/betal.cpp
==============================================================================
--- trunk/libs/math/src/tr1/betal.cpp (original)
+++ trunk/libs/math/src/tr1/betal.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/beta.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL betal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL betal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::beta BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/cbrt.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cbrt.cpp (original)
+++ trunk/libs/math/src/tr1/cbrt.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/cbrt.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/cbrtf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cbrtf.cpp (original)
+++ trunk/libs/math/src/tr1/cbrtf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/cbrt.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL cbrtf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/cbrtl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cbrtl.cpp (original)
+++ trunk/libs/math/src/tr1/cbrtl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/cbrt.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL cbrtl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cbrt BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_1.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_1.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_1.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_1.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL comp_ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_1f.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_1f.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_1f.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_1.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL comp_ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_1l.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_1l.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_1l.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_1.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL comp_ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_2.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_2.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_2.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_2.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL comp_ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL comp_ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_2f.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_2f.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_2f.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_2.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL comp_ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL comp_ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_2l.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_2l.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_2l.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_2.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL comp_ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL comp_ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_3.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_3.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_3.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_3.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL comp_ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu)
+extern "C" double BOOST_MATH_TR1_DECL comp_ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_3f.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_3f.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_3f.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_3.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL comp_ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu)
+extern "C" float BOOST_MATH_TR1_DECL comp_ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu);
 }

Modified: trunk/libs/math/src/tr1/comp_ellint_3l.cpp
==============================================================================
--- trunk/libs/math/src/tr1/comp_ellint_3l.cpp (original)
+++ trunk/libs/math/src/tr1/comp_ellint_3l.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_3.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL comp_ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu)
+extern "C" long double BOOST_MATH_TR1_DECL comp_ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu);
 }

Modified: trunk/libs/math/src/tr1/copysign.cpp
==============================================================================
--- trunk/libs/math/src/tr1/copysign.cpp (original)
+++ trunk/libs/math/src/tr1/copysign.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 #if !(defined(__HP_aCC) && (__HP_aCC >= 61400))
 
-extern "C" double BOOST_MATH_TR1_DECL copysign BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
+extern "C" double BOOST_MATH_TR1_DECL copysign BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC
 {
    return boost::math::copysign BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/copysignf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/copysignf.cpp (original)
+++ trunk/libs/math/src/tr1/copysignf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 #if !(defined(__HP_aCC) && (__HP_aCC >= 61400))
 
-extern "C" float BOOST_MATH_TR1_DECL copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
+extern "C" float BOOST_MATH_TR1_DECL copysignf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC
 {
    return boost::math::copysign BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/copysignl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/copysignl.cpp (original)
+++ trunk/libs/math/src/tr1/copysignl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/sign.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL copysignl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    return boost::math::copysign BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_i.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_i.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_i.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
+extern "C" double BOOST_MATH_TR1_DECL cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_if.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_if.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_if.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
+extern "C" float BOOST_MATH_TR1_DECL cyl_bessel_if BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_il.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_il.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_il.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL cyl_bessel_il BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_j.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_j.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_j.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
+extern "C" double BOOST_MATH_TR1_DECL cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_jf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_jf.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_jf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
+extern "C" float BOOST_MATH_TR1_DECL cyl_bessel_jf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_jl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_jl.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_jl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL cyl_bessel_jl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_j BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_k.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_k.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_k.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
+extern "C" double BOOST_MATH_TR1_DECL cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_kf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_kf.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_kf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
+extern "C" float BOOST_MATH_TR1_DECL cyl_bessel_kf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_bessel_kl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_bessel_kl.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_bessel_kl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL cyl_bessel_kl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_bessel_k BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_neumann.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_neumann.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_neumann.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x)
+extern "C" double BOOST_MATH_TR1_DECL cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(double nu, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_neumannf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_neumannf.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_neumannf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x)
+extern "C" float BOOST_MATH_TR1_DECL cyl_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(float nu, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/cyl_neumannl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/cyl_neumannl.cpp (original)
+++ trunk/libs/math/src/tr1/cyl_neumannl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL cyl_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(long double nu, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::cyl_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x);
 }

Modified: trunk/libs/math/src/tr1/ellint_1.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_1.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_1.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_1.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi)
+extern "C" double BOOST_MATH_TR1_DECL ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_1f.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_1f.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_1f.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_1.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi)
+extern "C" float BOOST_MATH_TR1_DECL ellint_1f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_1l.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_1l.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_1l.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_1.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi)
+extern "C" long double BOOST_MATH_TR1_DECL ellint_1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_1 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_2.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_2.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_2.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_2.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi)
+extern "C" double BOOST_MATH_TR1_DECL ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_2f.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_2f.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_2f.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_2.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi)
+extern "C" float BOOST_MATH_TR1_DECL ellint_2f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_2l.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_2l.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_2l.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_2.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi)
+extern "C" long double BOOST_MATH_TR1_DECL ellint_2l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_2 BOOST_PREVENT_MACRO_SUBSTITUTION(k, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_3.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_3.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_3.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_3.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu, double phi)
+extern "C" double BOOST_MATH_TR1_DECL ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(double k, double nu, double phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_3f.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_3f.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_3f.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_3.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu, float phi)
+extern "C" float BOOST_MATH_TR1_DECL ellint_3f BOOST_PREVENT_MACRO_SUBSTITUTION(float k, float nu, float phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi);
 }

Modified: trunk/libs/math/src/tr1/ellint_3l.cpp
==============================================================================
--- trunk/libs/math/src/tr1/ellint_3l.cpp (original)
+++ trunk/libs/math/src/tr1/ellint_3l.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/ellint_3.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu, long double phi)
+extern "C" long double BOOST_MATH_TR1_DECL ellint_3l BOOST_PREVENT_MACRO_SUBSTITUTION(long double k, long double nu, long double phi) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::ellint_3 BOOST_PREVENT_MACRO_SUBSTITUTION(k, nu, phi);
 }

Modified: trunk/libs/math/src/tr1/erf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/erf.cpp (original)
+++ trunk/libs/math/src/tr1/erf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/erf.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL erf BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL erf BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::erf BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/erfc.cpp
==============================================================================
--- trunk/libs/math/src/tr1/erfc.cpp (original)
+++ trunk/libs/math/src/tr1/erfc.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/erf.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL erfc BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL erfc BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::erfc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/erfcf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/erfcf.cpp (original)
+++ trunk/libs/math/src/tr1/erfcf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/erf.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL erfcf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::erfc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/erfcl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/erfcl.cpp (original)
+++ trunk/libs/math/src/tr1/erfcl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/erf.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL erfcl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::erfc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/erff.cpp
==============================================================================
--- trunk/libs/math/src/tr1/erff.cpp (original)
+++ trunk/libs/math/src/tr1/erff.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/erf.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL erff BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL erff BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::erf BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/erfl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/erfl.cpp (original)
+++ trunk/libs/math/src/tr1/erfl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/erf.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL erfl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL erfl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::erf BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/expint.cpp
==============================================================================
--- trunk/libs/math/src/tr1/expint.cpp (original)
+++ trunk/libs/math/src/tr1/expint.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/expint.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL expint BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL expint BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::expint BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/expintf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/expintf.cpp (original)
+++ trunk/libs/math/src/tr1/expintf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/expint.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL expintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL expintf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::expint BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/expintl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/expintl.cpp (original)
+++ trunk/libs/math/src/tr1/expintl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/expint.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL expintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL expintl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::expint BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/expm1.cpp
==============================================================================
--- trunk/libs/math/src/tr1/expm1.cpp (original)
+++ trunk/libs/math/src/tr1/expm1.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL boost_expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL boost_expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/expm1f.cpp
==============================================================================
--- trunk/libs/math/src/tr1/expm1f.cpp (original)
+++ trunk/libs/math/src/tr1/expm1f.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL boost_expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL boost_expm1f BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/expm1l.cpp
==============================================================================
--- trunk/libs/math/src/tr1/expm1l.cpp (original)
+++ trunk/libs/math/src/tr1/expm1l.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/expm1.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL boost_expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL boost_expm1l BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::expm1 BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/fmax.cpp
==============================================================================
--- trunk/libs/math/src/tr1/fmax.cpp (original)
+++ trunk/libs/math/src/tr1/fmax.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/fpclassify.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL fmax BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
+extern "C" double BOOST_MATH_TR1_DECL fmax BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC
 {
    if((boost::math::isnan)(x))
       return y;

Modified: trunk/libs/math/src/tr1/fmaxf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/fmaxf.cpp (original)
+++ trunk/libs/math/src/tr1/fmaxf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 #if !(defined(__HP_aCC) && (__HP_aCC >= 61400))
 
-extern "C" float BOOST_MATH_TR1_DECL fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
+extern "C" float BOOST_MATH_TR1_DECL fmaxf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC
 {
    if((boost::math::isnan)(x))
       return y;

Modified: trunk/libs/math/src/tr1/fmaxl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/fmaxl.cpp (original)
+++ trunk/libs/math/src/tr1/fmaxl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/fpclassify.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL fmaxl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    if((boost::math::isnan)(x))
       return y;

Modified: trunk/libs/math/src/tr1/fmin.cpp
==============================================================================
--- trunk/libs/math/src/tr1/fmin.cpp (original)
+++ trunk/libs/math/src/tr1/fmin.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/fpclassify.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL fmin BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
+extern "C" double BOOST_MATH_TR1_DECL fmin BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC
 {
    if((boost::math::isnan)(x))
       return y;

Modified: trunk/libs/math/src/tr1/fminf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/fminf.cpp (original)
+++ trunk/libs/math/src/tr1/fminf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 #if !(defined(__HP_aCC) && (__HP_aCC >= 61400))
 
-extern "C" float BOOST_MATH_TR1_DECL fminf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
+extern "C" float BOOST_MATH_TR1_DECL fminf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC
 {
    if((boost::math::isnan)(x))
       return y;

Modified: trunk/libs/math/src/tr1/fminl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/fminl.cpp (original)
+++ trunk/libs/math/src/tr1/fminl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/fpclassify.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL fminl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL fminl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    if((boost::math::isnan)(x))
       return y;

Modified: trunk/libs/math/src/tr1/hermite.cpp
==============================================================================
--- trunk/libs/math/src/tr1/hermite.cpp (original)
+++ trunk/libs/math/src/tr1/hermite.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/hermite.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
+extern "C" double BOOST_MATH_TR1_DECL hermite BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::hermite BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/hermitef.cpp
==============================================================================
--- trunk/libs/math/src/tr1/hermitef.cpp (original)
+++ trunk/libs/math/src/tr1/hermitef.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/hermite.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
+extern "C" float BOOST_MATH_TR1_DECL hermitef BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::hermite BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/hermitel.cpp
==============================================================================
--- trunk/libs/math/src/tr1/hermitel.cpp (original)
+++ trunk/libs/math/src/tr1/hermitel.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/hermite.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL hermitel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::hermite BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/hypot.cpp
==============================================================================
--- trunk/libs/math/src/tr1/hypot.cpp (original)
+++ trunk/libs/math/src/tr1/hypot.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL hypot BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
+extern "C" double BOOST_MATH_TR1_DECL hypot BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::hypot BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/hypotf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/hypotf.cpp (original)
+++ trunk/libs/math/src/tr1/hypotf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
+extern "C" float BOOST_MATH_TR1_DECL hypotf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::hypot BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/hypotl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/hypotl.cpp (original)
+++ trunk/libs/math/src/tr1/hypotl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL hypotl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::hypot BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/laguerre.cpp
==============================================================================
--- trunk/libs/math/src/tr1/laguerre.cpp (original)
+++ trunk/libs/math/src/tr1/laguerre.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/laguerre.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
+extern "C" double BOOST_MATH_TR1_DECL laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/laguerref.cpp
==============================================================================
--- trunk/libs/math/src/tr1/laguerref.cpp (original)
+++ trunk/libs/math/src/tr1/laguerref.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/laguerre.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
+extern "C" float BOOST_MATH_TR1_DECL laguerref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/laguerrel.cpp
==============================================================================
--- trunk/libs/math/src/tr1/laguerrel.cpp (original)
+++ trunk/libs/math/src/tr1/laguerrel.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/laguerre.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL laguerrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::laguerre BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/legendre.cpp
==============================================================================
--- trunk/libs/math/src/tr1/legendre.cpp (original)
+++ trunk/libs/math/src/tr1/legendre.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/legendre.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
+extern "C" double BOOST_MATH_TR1_DECL legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::legendre_p BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/legendref.cpp
==============================================================================
--- trunk/libs/math/src/tr1/legendref.cpp (original)
+++ trunk/libs/math/src/tr1/legendref.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/legendre.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
+extern "C" float BOOST_MATH_TR1_DECL legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::legendre_p BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/legendrel.cpp
==============================================================================
--- trunk/libs/math/src/tr1/legendrel.cpp (original)
+++ trunk/libs/math/src/tr1/legendrel.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/legendre.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::legendre_p BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/lgamma.cpp
==============================================================================
--- trunk/libs/math/src/tr1/lgamma.cpp (original)
+++ trunk/libs/math/src/tr1/lgamma.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/lgammaf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/lgammaf.cpp (original)
+++ trunk/libs/math/src/tr1/lgammaf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL lgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/lgammal.cpp
==============================================================================
--- trunk/libs/math/src/tr1/lgammal.cpp (original)
+++ trunk/libs/math/src/tr1/lgammal.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL lgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::lgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/llround.cpp
==============================================================================
--- trunk/libs/math/src/tr1/llround.cpp (original)
+++ trunk/libs/math/src/tr1/llround.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" boost::long_long_type BOOST_MATH_TR1_DECL llround BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" boost::long_long_type BOOST_MATH_TR1_DECL llround BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::llround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/llroundf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/llroundf.cpp (original)
+++ trunk/libs/math/src/tr1/llroundf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" boost::long_long_type BOOST_MATH_TR1_DECL llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" boost::long_long_type BOOST_MATH_TR1_DECL llroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::llround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/llroundl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/llroundl.cpp (original)
+++ trunk/libs/math/src/tr1/llroundl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" boost::long_long_type BOOST_MATH_TR1_DECL llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" boost::long_long_type BOOST_MATH_TR1_DECL llroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::llround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/log1p.cpp
==============================================================================
--- trunk/libs/math/src/tr1/log1p.cpp (original)
+++ trunk/libs/math/src/tr1/log1p.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL boost_log1p BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL boost_log1p BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::log1p BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/log1pf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/log1pf.cpp (original)
+++ trunk/libs/math/src/tr1/log1pf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL boost_log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL boost_log1pf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::log1p BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/log1pl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/log1pl.cpp (original)
+++ trunk/libs/math/src/tr1/log1pl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL boost_log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL boost_log1pl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::log1p BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/lround.cpp
==============================================================================
--- trunk/libs/math/src/tr1/lround.cpp (original)
+++ trunk/libs/math/src/tr1/lround.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long BOOST_MATH_TR1_DECL lround BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" long BOOST_MATH_TR1_DECL lround BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::lround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/lroundf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/lroundf.cpp (original)
+++ trunk/libs/math/src/tr1/lroundf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long BOOST_MATH_TR1_DECL lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" long BOOST_MATH_TR1_DECL lroundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::lround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/lroundl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/lroundl.cpp (original)
+++ trunk/libs/math/src/tr1/lroundl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long BOOST_MATH_TR1_DECL lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long BOOST_MATH_TR1_DECL lroundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::lround BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/nextafter.cpp
==============================================================================
--- trunk/libs/math/src/tr1/nextafter.cpp (original)
+++ trunk/libs/math/src/tr1/nextafter.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL boost_nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y)
+extern "C" double BOOST_MATH_TR1_DECL boost_nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(double x, double y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/nextafterf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/nextafterf.cpp (original)
+++ trunk/libs/math/src/tr1/nextafterf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL boost_nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y)
+extern "C" float BOOST_MATH_TR1_DECL boost_nextafterf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, float y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/nextafterl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/nextafterl.cpp (original)
+++ trunk/libs/math/src/tr1/nextafterl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL boost_nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL boost_nextafterl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/nexttoward.cpp
==============================================================================
--- trunk/libs/math/src/tr1/nexttoward.cpp (original)
+++ trunk/libs/math/src/tr1/nexttoward.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long double y)
+extern "C" double BOOST_MATH_TR1_DECL nexttoward BOOST_PREVENT_MACRO_SUBSTITUTION(double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    return (double)c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION((long double)x, y);
 }

Modified: trunk/libs/math/src/tr1/nexttowardf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/nexttowardf.cpp (original)
+++ trunk/libs/math/src/tr1/nexttowardf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long double y)
+extern "C" float BOOST_MATH_TR1_DECL nexttowardf BOOST_PREVENT_MACRO_SUBSTITUTION(float x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    return (float)c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION((long double)x, y);
 }

Modified: trunk/libs/math/src/tr1/nexttowardl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/nexttowardl.cpp (original)
+++ trunk/libs/math/src/tr1/nexttowardl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y)
+extern "C" long double BOOST_MATH_TR1_DECL nexttowardl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x, long double y) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::nextafter BOOST_PREVENT_MACRO_SUBSTITUTION(x, y);
 }

Modified: trunk/libs/math/src/tr1/riemann_zeta.cpp
==============================================================================
--- trunk/libs/math/src/tr1/riemann_zeta.cpp (original)
+++ trunk/libs/math/src/tr1/riemann_zeta.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/zeta.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL riemann_zeta BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::zeta BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/riemann_zetaf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/riemann_zetaf.cpp (original)
+++ trunk/libs/math/src/tr1/riemann_zetaf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/zeta.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL riemann_zetaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::zeta BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/riemann_zetal.cpp
==============================================================================
--- trunk/libs/math/src/tr1/riemann_zetal.cpp (original)
+++ trunk/libs/math/src/tr1/riemann_zetal.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/zeta.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL riemann_zetal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::zeta BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/round.cpp
==============================================================================
--- trunk/libs/math/src/tr1/round.cpp (original)
+++ trunk/libs/math/src/tr1/round.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL round BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL round BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::round BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/roundf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/roundf.cpp (original)
+++ trunk/libs/math/src/tr1/roundf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL roundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL roundf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::round BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/roundl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/roundl.cpp (original)
+++ trunk/libs/math/src/tr1/roundl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL roundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL roundl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::round BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/sph_bessel.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_bessel.cpp (original)
+++ trunk/libs/math/src/tr1/sph_bessel.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
+extern "C" double BOOST_MATH_TR1_DECL sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/sph_besself.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_besself.cpp (original)
+++ trunk/libs/math/src/tr1/sph_besself.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
+extern "C" float BOOST_MATH_TR1_DECL sph_besself BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/sph_bessell.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_bessell.cpp (original)
+++ trunk/libs/math/src/tr1/sph_bessell.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL sph_bessell BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::sph_bessel BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/sph_legendre.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_legendre.cpp (original)
+++ trunk/libs/math/src/tr1/sph_legendre.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/spherical_harmonic.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x)
+extern "C" double BOOST_MATH_TR1_DECL sph_legendre BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return (m & 1 ? -1 : 1) * c_policies::spherical_harmonic_r BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x, 0.0);
 }

Modified: trunk/libs/math/src/tr1/sph_legendref.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_legendref.cpp (original)
+++ trunk/libs/math/src/tr1/sph_legendref.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/spherical_harmonic.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x)
+extern "C" float BOOST_MATH_TR1_DECL sph_legendref BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return (m & 1 ? -1 : 1) * c_policies::spherical_harmonic_r BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x, 0.0f);
 }

Modified: trunk/libs/math/src/tr1/sph_legendrel.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_legendrel.cpp (original)
+++ trunk/libs/math/src/tr1/sph_legendrel.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/spherical_harmonic.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL sph_legendrel BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, unsigned m, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return (m & 1 ? -1 : 1) * c_policies::spherical_harmonic_r BOOST_PREVENT_MACRO_SUBSTITUTION(n, m, x, 0.0L);
 }

Modified: trunk/libs/math/src/tr1/sph_neumann.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_neumann.cpp (original)
+++ trunk/libs/math/src/tr1/sph_neumann.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" double BOOST_MATH_TR1_DECL sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x)
+extern "C" double BOOST_MATH_TR1_DECL sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/sph_neumannf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_neumannf.cpp (original)
+++ trunk/libs/math/src/tr1/sph_neumannf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" float BOOST_MATH_TR1_DECL sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x)
+extern "C" float BOOST_MATH_TR1_DECL sph_neumannf BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/sph_neumannl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/sph_neumannl.cpp (original)
+++ trunk/libs/math/src/tr1/sph_neumannl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -11,7 +11,7 @@
 #include <boost/math/special_functions/bessel.hpp>
 #include "c_policy.hpp"
 
-extern "C" long double BOOST_MATH_TR1_DECL sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x)
+extern "C" long double BOOST_MATH_TR1_DECL sph_neumannl BOOST_PREVENT_MACRO_SUBSTITUTION(unsigned n, long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::sph_neumann BOOST_PREVENT_MACRO_SUBSTITUTION(n, x);
 }

Modified: trunk/libs/math/src/tr1/tgamma.cpp
==============================================================================
--- trunk/libs/math/src/tr1/tgamma.cpp (original)
+++ trunk/libs/math/src/tr1/tgamma.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/tgammaf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/tgammaf.cpp (original)
+++ trunk/libs/math/src/tr1/tgammaf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL tgammaf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/tgammal.cpp
==============================================================================
--- trunk/libs/math/src/tr1/tgammal.cpp (original)
+++ trunk/libs/math/src/tr1/tgammal.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL tgammal BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::tgamma BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/trunc.cpp
==============================================================================
--- trunk/libs/math/src/tr1/trunc.cpp (original)
+++ trunk/libs/math/src/tr1/trunc.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" double BOOST_MATH_TR1_DECL trunc BOOST_PREVENT_MACRO_SUBSTITUTION(double x)
+extern "C" double BOOST_MATH_TR1_DECL trunc BOOST_PREVENT_MACRO_SUBSTITUTION(double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::trunc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/truncf.cpp
==============================================================================
--- trunk/libs/math/src/tr1/truncf.cpp (original)
+++ trunk/libs/math/src/tr1/truncf.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" float BOOST_MATH_TR1_DECL truncf BOOST_PREVENT_MACRO_SUBSTITUTION(float x)
+extern "C" float BOOST_MATH_TR1_DECL truncf BOOST_PREVENT_MACRO_SUBSTITUTION(float x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::trunc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }

Modified: trunk/libs/math/src/tr1/truncl.cpp
==============================================================================
--- trunk/libs/math/src/tr1/truncl.cpp (original)
+++ trunk/libs/math/src/tr1/truncl.cpp 2010-01-18 12:07:03 EST (Mon, 18 Jan 2010)
@@ -13,7 +13,7 @@
 
 namespace boost{ namespace math{ namespace tr1{
 
-extern "C" long double BOOST_MATH_TR1_DECL truncl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x)
+extern "C" long double BOOST_MATH_TR1_DECL truncl BOOST_PREVENT_MACRO_SUBSTITUTION(long double x) BOOST_MATH_C99_THROW_SPEC
 {
    return c_policies::trunc BOOST_PREVENT_MACRO_SUBSTITUTION(x);
 }


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk