mirror of
https://github.com/google/googletest.git
synced 2025-01-14 16:37:56 +08:00
Fix build under msvc
This commit is contained in:
parent
92d0a6f7e2
commit
0a80845e73
@ -4734,6 +4734,13 @@ namespace internal {
|
|||||||
|
|
||||||
template <typename Err>
|
template <typename Err>
|
||||||
class ExceptionMatcherImpl {
|
class ExceptionMatcherImpl {
|
||||||
|
class NeverThrown {
|
||||||
|
public:
|
||||||
|
const char* what() const noexcept {
|
||||||
|
return "this exception should never be thrown";
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
public:
|
public:
|
||||||
ExceptionMatcherImpl(Matcher<const Err&> matcher)
|
ExceptionMatcherImpl(Matcher<const Err&> matcher)
|
||||||
: matcher_(std::move(matcher)) {}
|
: matcher_(std::move(matcher)) {}
|
||||||
@ -4764,7 +4771,14 @@ class ExceptionMatcherImpl {
|
|||||||
} else {
|
} else {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} catch (const std::exception& err) {
|
} catch (
|
||||||
|
typename std::conditional<
|
||||||
|
std::is_same<
|
||||||
|
typename std::remove_cv<
|
||||||
|
typename std::remove_reference<Err>::type>::type,
|
||||||
|
std::exception>::value,
|
||||||
|
const NeverThrown&,
|
||||||
|
const std::exception&>::type const& err) {
|
||||||
#if GTEST_HAS_RTTI
|
#if GTEST_HAS_RTTI
|
||||||
*listener << "throws an exception of type "
|
*listener << "throws an exception of type "
|
||||||
<< GetTypeName(typeid(err)) << " ";
|
<< GetTypeName(typeid(err)) << " ";
|
||||||
|
Loading…
x
Reference in New Issue
Block a user