Fix: python: suppress -Wmissing-prototypes warning with SWIG 3.0.10
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 27 Mar 2020 01:11:35 +0000 (21:11 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 3 Apr 2020 23:47:19 +0000 (19:47 -0400)
commita533641446bb219241dacf3ee85c91b8c5bfaf64
treee41a9d0ca0dc120f6a4cda7a6d5a5bdc11d5cea3
parent0bc1be2948f1c8fc63ce79c01b9ef21c078997c7
Fix: python: suppress -Wmissing-prototypes warning with SWIG 3.0.10

SWIG 3.0.10 is used on SLES 12.  It produces this warning:

      CC       lttng_wrap.lo
    lttng_wrap.c:3411:1: error: no previous prototype for ‘SWIG_strnlen’ [-Werror=missing-prototypes]
     3411 | SWIG_strnlen(const char* s, size_t maxlen)
          | ^~~~~~

SWIG_strnlen is defined like this:

    size_t
    SWIG_strnlen(const char* s, size_t maxlen)
    {
        ...
    }

Since the function is not static and has no previous declaration, the
diagnostic is emitted.  We can see that they have fixed it in SWIG
3.0.12, where the same function is defined as:

    SWIGINTERN size_t
    SWIG_strnlen(const char* s, size_t maxlen)
    {
        ...
    }

SWIGINTERN is defined as static.

We can workaround the warning by adding our own declaration for
SWIG_strnlen in lttng.i(.in).

Tested by build with SWIG 3.0.10, 3.0.11 and 3.0.12.

Change-Id: I7d9d93cf5fc04f2044a47ad384e16d726e27f72f
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
extras/bindings/swig/python/lttng.i.in
This page took 0.026147 seconds and 4 git commands to generate.