Skip to content

Commit

Permalink
When using C++23, use [[assume]] attribute.
Browse files Browse the repository at this point in the history
  • Loading branch information
bangerth committed Feb 6, 2024
1 parent 2a0d17c commit 0badb93
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 8 deletions.
21 changes: 13 additions & 8 deletions include/deal.II/base/config.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -183,10 +183,13 @@
* attribute for older standards we rely on compiler intrinsics when
* available.
*/
#if defined(__clang__)
# define DEAL_II_CXX23_ASSUME(expr) __builtin_assume(static_cast<bool>(expr))
#elif defined(__GNUC__) && !defined(__ICC) && __GNUC__ >= 13
# define DEAL_II_CXX23_ASSUME(expr) \
#ifdef DEAL_II_HAVE_CXX23
# define define DEAL_II_ASSUME(expr) [[assume(expr)]]
#else
# if defined(__clang__)
# define DEAL_II_CXX23_ASSUME(expr) __builtin_assume(static_cast<bool>(expr))
# elif defined(__GNUC__) && !defined(__ICC) && __GNUC__ >= 13
# define DEAL_II_CXX23_ASSUME(expr) \
do \
{ \
_Pragma("GCC diagnostic push") \
Expand All @@ -195,17 +198,19 @@
_Pragma("GCC diagnostic pop") \
} \
while (false)
#elif defined(_MSC_VER) || defined(__ICC)
# define DEAL_II_CXX23_ASSUME(expr) __assume(expr);
#else
# elif defined(_MSC_VER) || defined(__ICC)
# define DEAL_II_CXX23_ASSUME(expr) __assume(expr);
# else
/* no way with GCC to express this without evaluating 'expr' */
# define DEAL_II_CXX23_ASSUME(expr) \
# define DEAL_II_CXX23_ASSUME(expr) \
do \
{ \
} \
while (false)
# endif
#endif


/**
* Macro indicating that the current feature will be removed in a future
* release.
Expand Down
1 change: 1 addition & 0 deletions include/deal.II/base/exceptions.h
Original file line number Diff line number Diff line change
Expand Up @@ -1519,6 +1519,7 @@ namespace deal_II_exceptions
} /*namespace deal_II_exceptions*/



/**
* A macro that serves as the main routine in the exception mechanism for debug
* mode error checking. It asserts that a certain condition is fulfilled,
Expand Down

0 comments on commit 0badb93

Please sign in to comment.