diff -r 510d5bd079ad boost/variant/get.hpp --- a/boost/variant/get.hpp Fri Jun 27 15:59:57 2008 -0600 +++ b/boost/variant/get.hpp Mon Jun 30 18:24:16 2008 -0600 @@ -177,7 +177,7 @@ U_ptr result = get(&operand); if (!result) - throw bad_get(); + boost::throw_exception(bad_get()); return *result; } @@ -193,7 +193,7 @@ U_ptr result = get(&operand); if (!result) - throw bad_get(); + boost::throw_exception(bad_get()); return *result; } diff -r 510d5bd079ad boost/variant/variant.hpp --- a/boost/variant/variant.hpp Fri Jun 27 15:59:57 2008 -0600 +++ b/boost/variant/variant.hpp Mon Jun 30 18:24:16 2008 -0600 @@ -613,6 +613,7 @@ // ...and attempt to copy rhs content into lhs storage: new(lhs_.storage_.address()) RhsT(rhs_content_); } +#ifndef BOOST_NO_EXCEPTIONS catch (...) { // In case of failure, copy backup pointer to lhs storage... @@ -625,6 +626,7 @@ // ...and rethrow: throw; } +#endif // In case of success, indicate new content type... lhs_.indicate_which(rhs_which_); // nothrow