summary refs log tree commit diff
path: root/shared/c-stdaux/src
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2021-02-11 18:11:46 +0100
committerMichael Biebl <biebl@debian.org>2021-02-11 18:11:46 +0100
commit80ec1decc49c72efec2a8b87c06245c92c0ab807 (patch)
treee3b229aa94e8dcf0590f2317664176e7b8f7607b /shared/c-stdaux/src
parent65f86e8f56267192d42f2b629fc6b0c99fb9cd0c (diff)
New upstream version 1.29.90 upstream/1.29.90
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