From 086d73436fc04e4bc8dd536da54d8b825b1418dd Mon Sep 17 00:00:00 2001 From: Mario Prats Date: Tue, 28 Mar 2023 11:24:32 -0700 Subject: [PATCH] update cast to modern style (#418) * update cast to modern style Signed-off-by: Mario Prats (cherry picked from commit 5bd1230eb10595cec30168667adf03f48879b96c) --- resource/logging_macros.h.em | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/resource/logging_macros.h.em b/resource/logging_macros.h.em index 7d72263e..aa64f296 100644 --- a/resource/logging_macros.h.em +++ b/resource/logging_macros.h.em @@ -24,6 +24,13 @@ #include #include +// This is to avoid compilation warnings in C++ with '-Wold-style-cast'. +#ifdef __cplusplus + #define RCUTILS_CAST_DURATION(x) (static_cast < rcutils_duration_value_t > (x)) +#else + #define RCUTILS_CAST_DURATION(x) ((rcutils_duration_value_t)x) +#endif + #ifdef __cplusplus extern "C" { @@ -174,7 +181,7 @@ typedef bool (* RclLogFilter)(); * A macro initializing and checking the `throttle` condition. */ #define RCUTILS_LOG_CONDITION_THROTTLE_BEFORE(get_time_point_value, duration) { \ - static rcutils_duration_value_t __rcutils_logging_duration = RCUTILS_MS_TO_NS((rcutils_duration_value_t)duration); \ + static rcutils_duration_value_t __rcutils_logging_duration = RCUTILS_MS_TO_NS(RCUTILS_CAST_DURATION(duration)); \ static rcutils_time_point_value_t __rcutils_logging_last_logged = 0; \ rcutils_time_point_value_t __rcutils_logging_now = 0; \ bool __rcutils_logging_condition = true; \