mirror of https://github.com/CGAL/cgal
direct definition
the extra if was generating fallthru warnings
This commit is contained in:
parent
d370326ec1
commit
604d2fd1ff
|
|
@ -369,15 +369,17 @@ using std::max;
|
|||
# define CGAL_NO_UNIQUE_ADDRESS
|
||||
#endif
|
||||
|
||||
// Macro CGAL_ASSUME
|
||||
// Macro CGAL_ASSUME and CGAL_unreachable
|
||||
// Call a builtin of the compiler to pass a hint to the compiler
|
||||
#if __has_builtin(__builtin_unreachable) || (CGAL_GCC_VERSION > 0 && !__STRICT_ANSI__)
|
||||
// From g++ 4.5, there exists a __builtin_unreachable()
|
||||
// Also in LLVM/clang
|
||||
# define CGAL_ASSUME(EX) if(!(EX)) { __builtin_unreachable(); }
|
||||
# define CGAL_unreachable() __builtin_unreachable()
|
||||
#elif defined(_MSC_VER)
|
||||
// MSVC has __assume
|
||||
# define CGAL_ASSUME(EX) __assume(EX)
|
||||
# define CGAL_unreachable() __assume(0)
|
||||
#endif
|
||||
// If CGAL_ASSUME is not defined, then CGAL_assume and CGAL_assume_code are
|
||||
// defined differently, in <CGAL/assertions.h>
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ inline bool possibly(Uncertain<bool> c);
|
|||
# define CGAL_assume_code(CODE) CODE
|
||||
# else // not def CGAL_ASSUME
|
||||
# define CGAL_assume(EX) CGAL_assertion(EX)
|
||||
# define CGAL_unreachable() CGAL_assertion(false)
|
||||
# define CGAL_assume_code(CODE) CGAL_assertion_code(CODE)
|
||||
# endif // not def CGAL_ASSUME
|
||||
#else // no CGAL_NO_ASSERTIONS
|
||||
|
|
@ -106,8 +107,6 @@ inline bool possibly(Uncertain<bool> c);
|
|||
# define CGAL_assume_code(CODE) CGAL_assertion_code(CODE)
|
||||
#endif // no CGAL_NO_ASSERTIONS
|
||||
|
||||
#define CGAL_unreachable() CGAL_assume(false)
|
||||
|
||||
# define CGAL_static_assertion(EX) \
|
||||
static_assert(EX, #EX)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue