Fix -Wshadow warnings
authorSimon Marchi <simon.marchi@efficios.com>
Mon, 28 Oct 2019 01:34:26 +0000 (21:34 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 30 Oct 2019 19:14:53 +0000 (15:14 -0400)
Fix warnings of this type:

      CC       event.lo
    /home/simark/src/babeltrace/src/ctf-writer/event.c: In function ‘bt_ctf_event_common_create_fields’:
    /home/simark/src/babeltrace/src/ctf-writer/event.c:135:21: error: declaration of ‘create_field_func’ shadows a global declaration [-Werror=shadow]
      135 |   create_field_func create_field_func,
          |   ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
    In file included from /home/simark/src/babeltrace/src/ctf-writer/event.c:45:
    /home/simark/src/babeltrace/src/ctf-writer/event.h:89:17: note: shadowed declaration is here
       89 | typedef void *(*create_field_func)(void *);
          |                 ^~~~~~~~~~~~~~~~~

Simply rename the types so they don't have the same name as the
parameters, suffix the types with `_type`.

I have added -Wno-shadow when building native_bt.c (in the Python
bindings), see the comment in Makefile.am for more details.

Change-Id: I5335d54f9a005d0cd4790f603ed3b1cda9645a93
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/2271
Reviewed-by: Francis Deslauriers <francis.deslauriers@efficios.com>
configure.ac
src/bindings/python/bt2/Makefile.am
src/ctf-writer/event.c
src/ctf-writer/event.h

index 28d247ae8ad1453e619cf15c2c537b5435d44856..120fb28ca631d6b1011b71d0a4e37747187a7495 100644 (file)
@@ -676,7 +676,6 @@ AX_COMPILER_FLAGS(
                -Wno-missing-declarations dnl
                -Wno-redundant-decls dnl
                -Wno-logical-op dnl
                -Wno-missing-declarations dnl
                -Wno-redundant-decls dnl
                -Wno-logical-op dnl
-               -Wno-shadow dnl
                -Wno-double-promotion dnl
                -Wno-cast-align dnl
        ])
                -Wno-double-promotion dnl
                -Wno-cast-align dnl
        ])
index fe401978016b80e37d6bbbdba56616697fdfaa52..cc0ded098e8638f9254f9b31e2e72bcfbebadbae 100644 (file)
@@ -101,8 +101,15 @@ GENERATED_BINDINGS_DEPS =  \
        bt2/version.py          \
        setup.py
 
        bt2/version.py          \
        setup.py
 
+# Some versions of SWIG (like 3.0.12) generate code where a parameter called
+# `swig_this` shadows a global of the same name.  Later versions (like 4.0.1)
+# have renamed this global to `Swig_This_global`.
+#
+# Disable -Wshadow for that file.
+WARN_CFLAGS = -Wno-shadow
+
 BUILD_FLAGS=CC="$(CC)" \
 BUILD_FLAGS=CC="$(CC)" \
-               CFLAGS="$(GLIB_CFLAGS) $(AM_CFLAGS) $(CFLAGS)" \
+               CFLAGS="$(GLIB_CFLAGS) $(AM_CFLAGS) $(CFLAGS) $(WARN_CFLAGS)" \
                CPPFLAGS="$(AM_CPPFLAGS) $(CPPFLAGS) -I$(srcdir)/bt2" \
                LDFLAGS="$(AM_LDFLAGS) $(LDFLAGS) $(GLIB_LIBS) $(LIBS)"
 
                CPPFLAGS="$(AM_CPPFLAGS) $(CPPFLAGS) -I$(srcdir)/bt2" \
                LDFLAGS="$(AM_LDFLAGS) $(LDFLAGS) $(GLIB_LIBS) $(LIBS)"
 
index ea29dcf1cf9be2a1222f962345eef0abb0d64eff..5c483ed4164630de0871f56e43d480c023e38411 100644 (file)
@@ -132,10 +132,10 @@ static
 int bt_ctf_event_common_create_fields(
                struct bt_ctf_stream_class_common *stream_class,
                struct bt_ctf_validation_output *validation_output,
 int bt_ctf_event_common_create_fields(
                struct bt_ctf_stream_class_common *stream_class,
                struct bt_ctf_validation_output *validation_output,
-               create_field_func create_field_func,
-               release_field_func release_field_func,
-               create_header_field_func create_header_field_func,
-               release_header_field_func release_header_field_func,
+               create_field_func_type create_field_func,
+               release_field_func_type release_field_func,
+               create_header_field_func_type create_header_field_func,
+               release_header_field_func_type release_header_field_func,
                struct bt_ctf_field_wrapper **header_field,
                struct bt_ctf_field_common **stream_event_context_field,
                struct bt_ctf_field_common **context_field,
                struct bt_ctf_field_wrapper **header_field,
                struct bt_ctf_field_common **stream_event_context_field,
                struct bt_ctf_field_common **context_field,
@@ -319,10 +319,10 @@ int bt_ctf_event_common_initialize(struct bt_ctf_event_common *event,
                int (*map_clock_classes_func)(struct bt_ctf_stream_class_common *stream_class,
                        struct bt_ctf_field_type_common *packet_context_field_type,
                        struct bt_ctf_field_type_common *event_header_field_type),
                int (*map_clock_classes_func)(struct bt_ctf_stream_class_common *stream_class,
                        struct bt_ctf_field_type_common *packet_context_field_type,
                        struct bt_ctf_field_type_common *event_header_field_type),
-               create_field_func create_field_func,
-               release_field_func release_field_func,
-               create_header_field_func create_header_field_func,
-               release_header_field_func release_header_field_func)
+               create_field_func_type create_field_func,
+               release_field_func_type release_field_func,
+               create_header_field_func_type create_header_field_func,
+               release_header_field_func_type release_header_field_func)
 {
        int ret;
        struct bt_ctf_trace_common *trace = NULL;
 {
        int ret;
        struct bt_ctf_trace_common *trace = NULL;
@@ -621,10 +621,10 @@ struct bt_ctf_event *bt_ctf_event_create(struct bt_ctf_event_class *event_class)
                (bt_ctf_validation_flag_copy_field_type_func)
                        bt_ctf_field_type_copy,
                false, map_clock_classes_func,
                (bt_ctf_validation_flag_copy_field_type_func)
                        bt_ctf_field_type_copy,
                false, map_clock_classes_func,
-               (create_field_func) bt_ctf_field_create,
-               (release_field_func) bt_ctf_object_put_ref,
-               (create_header_field_func) create_event_header_field,
-               (release_header_field_func) destroy_event_header_field);
+               (create_field_func_type) bt_ctf_field_create,
+               (release_field_func_type) bt_ctf_object_put_ref,
+               (create_header_field_func_type) create_event_header_field,
+               (release_header_field_func_type) destroy_event_header_field);
        if (ret) {
                /* bt_ctf_event_common_initialize() logs errors */
                goto error;
        if (ret) {
                /* bt_ctf_event_common_initialize() logs errors */
                goto error;
index ae6692d137491d50486ba93ea22159cf0d90c317..a51b9011f5e6614bc091da2586a3b2acfe0854b2 100644 (file)
@@ -86,10 +86,10 @@ struct bt_ctf_event_class_common *bt_ctf_event_common_borrow_class(
        return event->class;
 }
 
        return event->class;
 }
 
-typedef void *(*create_field_func)(void *);
-typedef void (*release_field_func)(void *);
-typedef void *(*create_header_field_func)(void *, void *);
-typedef void (*release_header_field_func)(void *, void *);
+typedef void *(*create_field_func_type)(void *);
+typedef void (*release_field_func_type)(void *);
+typedef void *(*create_header_field_func_type)(void *, void *);
+typedef void (*release_header_field_func_type)(void *, void *);
 
 BT_HIDDEN
 int bt_ctf_event_common_initialize(struct bt_ctf_event_common *event,
 
 BT_HIDDEN
 int bt_ctf_event_common_initialize(struct bt_ctf_event_common *event,
@@ -101,10 +101,10 @@ int bt_ctf_event_common_initialize(struct bt_ctf_event_common *event,
                int (*map_clock_classes_func)(struct bt_ctf_stream_class_common *stream_class,
                        struct bt_ctf_field_type_common *packet_context_field_type,
                        struct bt_ctf_field_type_common *event_header_field_type),
                int (*map_clock_classes_func)(struct bt_ctf_stream_class_common *stream_class,
                        struct bt_ctf_field_type_common *packet_context_field_type,
                        struct bt_ctf_field_type_common *event_header_field_type),
-               create_field_func create_field_func,
-               release_field_func release_field_func,
-               create_header_field_func create_header_field_func,
-               release_header_field_func release_header_field_func);
+               create_field_func_type create_field_func,
+               release_field_func_type release_field_func,
+               create_header_field_func_type create_header_field_func,
+               release_header_field_func_type release_header_field_func);
 
 static inline
 struct bt_ctf_field_common *bt_ctf_event_common_borrow_payload(
 
 static inline
 struct bt_ctf_field_common *bt_ctf_event_common_borrow_payload(
This page took 0.028629 seconds and 4 git commands to generate.