From 2baa5ca4d706890cc3ba0fc66365a674f9883d37 Mon Sep 17 00:00:00 2001 From: Matthias Grob Date: Thu, 2 Apr 2020 16:24:36 +0200 Subject: [PATCH] minor build fixes and ignored warnings for GCC 9 (#14159) - px4io task_main_trampoline add return - iridiumsbd main_loop_helper add return - drivers/uavcan ignore Wcast-align, Wdeprecated-copy, and Waddress-of-packed-member for now - flashparams ignore Wvla-larger-than - test_time fix printf type --- src/drivers/px4io/px4io.cpp | 7 ++++--- src/drivers/telemetry/iridiumsbd/IridiumSBD.cpp | 3 ++- src/drivers/telemetry/iridiumsbd/IridiumSBD.h | 2 +- src/drivers/uavcan/CMakeLists.txt | 6 +++++- src/lib/parameters/flashparams/CMakeLists.txt | 1 + src/systemcmds/tests/CMakeLists.txt | 1 + src/systemcmds/tests/test_time.c | 8 ++++---- 7 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/drivers/px4io/px4io.cpp b/src/drivers/px4io/px4io.cpp index 97c8fd5788..7bb114c282 100644 --- a/src/drivers/px4io/px4io.cpp +++ b/src/drivers/px4io/px4io.cpp @@ -303,7 +303,7 @@ private: /** * Trampoline to the worker task */ - static void task_main_trampoline(int argc, char *argv[]); + static int task_main_trampoline(int argc, char *argv[]); /** * worker task @@ -882,7 +882,7 @@ PX4IO::init() SCHED_DEFAULT, SCHED_PRIORITY_ACTUATOR_OUTPUTS, 1500, - (main_t)&PX4IO::task_main_trampoline, + (px4_main_t)&PX4IO::task_main_trampoline, nullptr); if (_task < 0) { @@ -893,10 +893,11 @@ PX4IO::init() return OK; } -void +int PX4IO::task_main_trampoline(int argc, char *argv[]) { g_dev->task_main(); + return 0; } void diff --git a/src/drivers/telemetry/iridiumsbd/IridiumSBD.cpp b/src/drivers/telemetry/iridiumsbd/IridiumSBD.cpp index 707723a177..25c900bd36 100644 --- a/src/drivers/telemetry/iridiumsbd/IridiumSBD.cpp +++ b/src/drivers/telemetry/iridiumsbd/IridiumSBD.cpp @@ -213,7 +213,7 @@ int IridiumSBD::ioctl(struct file *filp, int cmd, unsigned long arg) // private functions // /////////////////////////////////////////////////////////////////////// -void IridiumSBD::main_loop_helper(int argc, char *argv[]) +int IridiumSBD::main_loop_helper(int argc, char *argv[]) { // start the main loop and stay in it IridiumSBD::instance->main_loop(argc, argv); @@ -225,6 +225,7 @@ void IridiumSBD::main_loop_helper(int argc, char *argv[]) IridiumSBD::instance = nullptr; PX4_WARN("stopped"); + return 0; } void IridiumSBD::main_loop(int argc, char *argv[]) diff --git a/src/drivers/telemetry/iridiumsbd/IridiumSBD.h b/src/drivers/telemetry/iridiumsbd/IridiumSBD.h index 85fae0ab42..2660eade75 100644 --- a/src/drivers/telemetry/iridiumsbd/IridiumSBD.h +++ b/src/drivers/telemetry/iridiumsbd/IridiumSBD.h @@ -139,7 +139,7 @@ private: /* * Entry point of the task, has to be a static function */ - static void main_loop_helper(int argc, char *argv[]); + static int main_loop_helper(int argc, char *argv[]); /* * Main driver loop diff --git a/src/drivers/uavcan/CMakeLists.txt b/src/drivers/uavcan/CMakeLists.txt index d2ef09d206..3cd60a4470 100644 --- a/src/drivers/uavcan/CMakeLists.txt +++ b/src/drivers/uavcan/CMakeLists.txt @@ -71,7 +71,11 @@ add_definitions( -DUAVCAN_PLATFORM=${UAVCAN_PLATFORM} ) -add_compile_options(-Wno-cast-align) # TODO: fix and enable +add_compile_options( + -Wno-cast-align # TODO: fix and enable + -Wno-deprecated-copy # TODO: fix + -Wno-address-of-packed-member +) add_subdirectory(${LIBUAVCAN_DIR} libuavcan EXCLUDE_FROM_ALL) add_dependencies(uavcan prebuild_targets) diff --git a/src/lib/parameters/flashparams/CMakeLists.txt b/src/lib/parameters/flashparams/CMakeLists.txt index a971cacd47..86b63bf6ce 100644 --- a/src/lib/parameters/flashparams/CMakeLists.txt +++ b/src/lib/parameters/flashparams/CMakeLists.txt @@ -42,6 +42,7 @@ target_compile_options(flashparams PRIVATE -Wno-sign-compare # TODO: fix this -Wno-cast-align # TODO: fix and enable + -Wno-address-of-packed-member # TODO: fix this ) target_link_libraries(flashparams PRIVATE nuttx_arch) diff --git a/src/systemcmds/tests/CMakeLists.txt b/src/systemcmds/tests/CMakeLists.txt index 2482d2a030..22570acf1c 100644 --- a/src/systemcmds/tests/CMakeLists.txt +++ b/src/systemcmds/tests/CMakeLists.txt @@ -98,6 +98,7 @@ px4_add_module( -Wno-unused-but-set-variable -Wno-unused-result -Wno-unused-variable + -Wno-vla-larger-than SRCS ${srcs} DEPENDS diff --git a/src/systemcmds/tests/test_time.c b/src/systemcmds/tests/test_time.c index a299bda0d6..4d86a42526 100644 --- a/src/systemcmds/tests/test_time.c +++ b/src/systemcmds/tests/test_time.c @@ -76,8 +76,8 @@ cycletime(void) int test_time(int argc, char *argv[]) { hrt_abstime h, c; - int64_t lowdelta, maxdelta = 0; - int64_t delta, deltadelta; + int lowdelta, maxdelta = 0; + int delta, deltadelta; /* enable the cycle counter */ (*(unsigned long *)0xe000edfc) |= (1 << 24); /* DEMCR |= DEMCR_TRCENA */ @@ -111,7 +111,7 @@ int test_time(int argc, char *argv[]) px4_leave_critical_section(flags); - delta = abs(h - c); + delta = h - c; deltadelta = abs(delta - lowdelta); if (deltadelta > maxdelta) { @@ -119,7 +119,7 @@ int test_time(int argc, char *argv[]) } if (deltadelta > 1000) { - fprintf(stderr, "h %" PRIu64 " c %" PRIu64 " d %" PRId64 "\n", h, c, delta - lowdelta); + fprintf(stderr, "h %" PRIu64 " c %" PRIu64 " d %d\n", h, c, delta - lowdelta); } }