From 9c7f2f8572e28b311e918168f70e6feebf33c52b Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 5 Oct 2019 00:02:59 -0400 Subject: [PATCH] Fix: fix some warnings shown with -Wextra on gcc 9.1.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Fix this: /home/simark/src/babeltrace/src/ctf-writer/event.c: In function ‘bt_ctf_event_create’: /home/simark/src/babeltrace/src/ctf-writer/event.c:626:3: error: cast between incompatible function types from ‘void (*)(struct bt_ctf_field_wrapper *)’ to ‘void (*)(void *, void *)’ [-Werror=cast-function-type] 626 | (release_header_field_func) destroy_event_header_field); | ^ by adding a second parameter, stream_class, to destroy_event_header_field, to match the release_header_field_func type (which takes two pointers). Fix this: /home/simark/src/babeltrace/src/lib/trace-ir/clock-class.c: In function ‘bt_clock_class_create’: /home/simark/src/babeltrace/src/lib/trace-ir/clock-class.c:125:3: error: cast between incompatible function types from ‘void (*)(struct bt_clock_snapshot *, struct bt_clock_class *)’ to ‘void * (*)(void *, void *)’ [-Werror=cast-function-type] 125 | (bt_object_pool_destroy_object_func) | ^ by making bt_object_pool_destroy_object_func return `void` instead of `void *` (none of the implementations actually return anything, it seems like a copy paste error from the typedef above). Change-Id: I8707a4a3b3eb34d84604f9b8117a20eaa5f50c83 Signed-off-by: Simon Marchi Reviewed-on: https://review.lttng.org/c/babeltrace/+/2138 Tested-by: jenkins --- src/ctf-writer/event.c | 5 +++-- src/lib/object-pool.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ctf-writer/event.c b/src/ctf-writer/event.c index abe2521a..44019efa 100644 --- a/src/ctf-writer/event.c +++ b/src/ctf-writer/event.c @@ -535,7 +535,8 @@ int map_clock_classes_func(struct bt_ctf_stream_class_common *stream_class, } static -void destroy_event_header_field(struct bt_ctf_field_wrapper *field_wrapper) +void destroy_event_header_field(struct bt_ctf_field_wrapper *field_wrapper, + struct bt_ctf_stream_class *stream_class) { BT_ASSERT(field_wrapper); bt_ctf_object_put_ref(field_wrapper->field); @@ -567,7 +568,7 @@ error: bt_ctf_object_put_ref(field); if (field_wrapper) { - destroy_event_header_field(field_wrapper); + destroy_event_header_field(field_wrapper, stream_class); field_wrapper = NULL; } diff --git a/src/lib/object-pool.h b/src/lib/object-pool.h index e94e04d2..02118999 100644 --- a/src/lib/object-pool.h +++ b/src/lib/object-pool.h @@ -57,7 +57,7 @@ #endif typedef void *(*bt_object_pool_new_object_func)(void *data); -typedef void *(*bt_object_pool_destroy_object_func)(void *obj, void *data); +typedef void (*bt_object_pool_destroy_object_func)(void *obj, void *data); struct bt_object_pool { /* -- 2.34.1