about summary refs log tree commit diff
path: root/shared/c-stdaux/src
diff options
context:
space:
mode:
authorSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:35:01 +0100
committerSebastien Bacher <seb128@ubuntu.com>2021-02-25 11:49:48 +0100
commit77dea84aa6e816f66dc622cec8ae2668eba3c068 (patch)
tree755536a0ed1fb36c2899e9bff9e092c4008a25c4 /shared/c-stdaux/src
parent47f08826b44eed651b44dc8bacb5b46bc4c52067 (diff)
parentfd80297a396cc4dd7da4da20208fb360aa369aa7 (diff)
Merge branch 'debian/master' into ubuntu/master
Diffstat (limited to 'shared/c-stdaux/src')
-rw-r--r--shared/c-stdaux/src/c-stdaux.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/shared/c-stdaux/src/c-stdaux.h b/shared/c-stdaux/src/c-stdaux.h
index 08d155ce..1cdbbbcf 100644
--- a/shared/c-stdaux/src/c-stdaux.h
+++ b/shared/c-stdaux/src/c-stdaux.h
@@ -84,7 +84,10 @@ extern "C" {
  *
  * Return: Evaluates to @_expr.
  */
-#define C_EXPR_ASSERT(_expr, _assertion, _message)                      \
+#if defined(__COVERITY__) // Coverity cannot const-fold __builtin_choose_expr()
+#  define C_EXPR_ASSERT(_expr, _assertion, _message) (_expr)
+#else
+#  define C_EXPR_ASSERT(_expr, _assertion, _message)                    \
         /* indentation and line-split to get better diagnostics */      \
         (__builtin_choose_expr(                                         \
                 !!(1 + 0 * sizeof(                                      \
@@ -95,6 +98,7 @@ _Static_assert(_assertion, _message); \
                 (_expr),                                                \
                 ((void)0)                                               \
         ))
+#endif
 
 /**
  * C_STRINGIFY() - stringify a token, but evaluate it first