C++ Client-Side SDK
LaunchDarkly SDK
Loading...
Searching...
No Matches
unreachable.hpp
1#pragma once
2
3namespace launchdarkly::detail {
4
5// This may be replaced with a standard routine when C++23 is available.
6[[noreturn]] inline void unreachable() {
7// Uses compiler specific extensions if possible.
8// Even if no extension is used, undefined behavior is still raised by
9// an empty function body and the noreturn attribute.
10#if defined(__GNUC__) // GCC, Clang, ICC
11 __builtin_unreachable();
12#elif defined(_MSC_VER) // MSVC
13 __assume(false);
14#endif
15}
16} // namespace launchdarkly::detail