message: [crispy] Add unreachable().
diff: @@ -84,4 +84,26 @@ inline void set_fail_handler(fail_handler_t _handler)
  ::crispy::detail::check((cond), #cond, "Postcondition failed.", __FILE__, __LINE__); \
  } while (0)
  +#if defined(__GNUC__)
  +// GCC 4.8+, Clang, Intel and other compilers compatible with GCC (-std=c++0x or above)
  +[[noreturn]] inline __attribute__((always_inline)) void unreachable()
  +{
  + __builtin_unreachable();
  +}
  +
  +#elif defined(_MSC_VER) // MSVC
  +
  +[[noreturn]] __forceinline void unreachable()
  +{
  + __assume(false);
  +}
  +
  +#else
  +
  +[[noreturn]] inline void unreachable()
  +{
  +}
  +
  +#endif
  +
  } // namespace crispy
  