aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorwhitequark <whitequark@whitequark.org>2020-06-17 19:30:53 +0000
committerwhitequark <whitequark@whitequark.org>2020-06-19 15:48:58 +0000
commit2ffdb74fb1b12e9f3730d0f152b795838934547d (patch)
tree5b8c8b443fcee553e620a236235cd151a84ed883 /kernel
parentd5d0cc88d272b85c3be3677993596dcfa82d579f (diff)
downloadyosys-2ffdb74fb1b12e9f3730d0f152b795838934547d.tar.gz
yosys-2ffdb74fb1b12e9f3730d0f152b795838934547d.tar.bz2
yosys-2ffdb74fb1b12e9f3730d0f152b795838934547d.zip
Use (and ignore) the expression provided to log_assert in NDEBUG builds.
This avoids warnings in NDEBUG builds emitted when a variable is only used in log_assert, but is always defined.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/log.h2
-rw-r--r--kernel/macc.h2
2 files changed, 1 insertions, 3 deletions
diff --git a/kernel/log.h b/kernel/log.h
index 501d20c09..ef4b6b456 100644
--- a/kernel/log.h
+++ b/kernel/log.h
@@ -236,7 +236,7 @@ static inline void log_assert_worker(bool cond, const char *expr, const char *fi
}
# define log_assert(_assert_expr_) YOSYS_NAMESPACE_PREFIX log_assert_worker(_assert_expr_, #_assert_expr_, __FILE__, __LINE__)
#else
-# define log_assert(_assert_expr_)
+# define log_assert(_assert_expr_) do { if (0) { (void)(_assert_expr_); } } while(0)
#endif
#define log_abort() YOSYS_NAMESPACE_PREFIX log_error("Abort in %s:%d.\n", __FILE__, __LINE__)
diff --git a/kernel/macc.h b/kernel/macc.h
index e9f6f05e9..d216e6772 100644
--- a/kernel/macc.h
+++ b/kernel/macc.h
@@ -107,10 +107,8 @@ struct Macc
std::vector<RTLIL::State> config_bits = cell->getParam(ID::CONFIG).bits;
int config_cursor = 0;
-#ifndef NDEBUG
int config_width = cell->getParam(ID::CONFIG_WIDTH).as_int();
log_assert(GetSize(config_bits) >= config_width);
-#endif
int num_bits = 0;
if (config_bits[config_cursor++] == State::S1) num_bits |= 1;