Commit 733f8759 authored by Abseil Team's avatar Abseil Team Committed by Copybara-Service
Browse files

Replace infinite recursion call (intentionally invoking undefined behavior to...

Replace infinite recursion call (intentionally invoking undefined behavior to indicate unreachability) with explicit unreachability marker.

PiperOrigin-RevId: 441474979
Change-Id: I1fcbb437026631212fec954c663482bb7e1cf819
parent a1cc8c55
......@@ -305,10 +305,13 @@ GTEST_API_ WithoutMatchers GetWithoutMatchers();
template <typename T>
inline T Invalid() {
Assert(false, "", -1, "Internal error: attempt to return invalid value");
// This statement is unreachable, and would never terminate even if it
// could be reached. It is provided only to placate compiler warnings
// about missing return statements.
#if defined(__GNUC__) || defined(__clang__)
__builtin_unreachable();
#elif defined(_MSC_VER)
__assume(0);
#else
return Invalid<T>();
#endif
}
#ifdef _MSC_VER
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment