From 4037104f5972c729a0ae2bf3bae53cf09deb9d2b Mon Sep 17 00:00:00 2001 From: Pierre Kancir Date: Fri, 15 Oct 2021 11:55:39 +0200 Subject: [PATCH] AP_UAVCAN: hide -Wcast-function-type warning on GCC11 --- libraries/AP_UAVCAN/AP_UAVCAN.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/libraries/AP_UAVCAN/AP_UAVCAN.h b/libraries/AP_UAVCAN/AP_UAVCAN.h index 31ab881f06f..5fed1a4cc91 100644 --- a/libraries/AP_UAVCAN/AP_UAVCAN.h +++ b/libraries/AP_UAVCAN/AP_UAVCAN.h @@ -72,6 +72,11 @@ class ParamExecuteOpcodeCb; #define DISABLE_W_CAST_FUNCTION_TYPE_PUSH #define DISABLE_W_CAST_FUNCTION_TYPE_POP #endif +#if defined(__GNUC__) && (__GNUC__ >= 11) +#define DISABLE_W_CAST_FUNCTION_TYPE_WITH_VOID (void*) +#else +#define DISABLE_W_CAST_FUNCTION_TYPE_WITH_VOID +#endif /* Frontend Backend-Registry Binder: Whenever a message of said DataType_ from new node is received, @@ -84,7 +89,7 @@ class ParamExecuteOpcodeCb; ClassName_() : RegistryBinder() {} \ DISABLE_W_CAST_FUNCTION_TYPE_PUSH \ ClassName_(AP_UAVCAN* uc, CN_Registry ffunc) : \ - RegistryBinder(uc, (Registry)ffunc) {} \ + RegistryBinder(uc, (Registry)DISABLE_W_CAST_FUNCTION_TYPE_WITH_VOID ffunc) {} \ DISABLE_W_CAST_FUNCTION_TYPE_POP \ } @@ -95,7 +100,7 @@ class ParamExecuteOpcodeCb; ClassName_() : ClientCallRegistryBinder() {} \ DISABLE_W_CAST_FUNCTION_TYPE_PUSH \ ClassName_(AP_UAVCAN* uc, CN_Registry ffunc) : \ - ClientCallRegistryBinder(uc, (ClientCallRegistry)ffunc) {} \ + ClientCallRegistryBinder(uc, (ClientCallRegistry)DISABLE_W_CAST_FUNCTION_TYPE_WITH_VOID ffunc) {} \ DISABLE_W_CAST_FUNCTION_TYPE_POP \ }