event/octeontx2: fix build for O1 optimization
authorFerruh Yigit <ferruh.yigit@intel.com>
Mon, 11 May 2020 16:07:25 +0000 (17:07 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 11 May 2020 19:09:20 +0000 (21:09 +0200)
Can be reproduced with "make EXTRA_CFLAGS='-O1'" command using
gcc 7.3.0

Build error
In file included from .../drivers/event/octeontx2/ot
x2_evdev.c:15:0:
.../drivers/event/octeontx2/otx2_evdev_stats.h:
    In function ‘otx2_sso_xstats_get’:
.../drivers/event/octeontx2/otx2_evdev_stats.h:124:9:
    error: ‘xstats’ may be used uninitialized in this function
           [-Werror=maybe-uninitialized]
   xstat = &xstats[ids[i] - start_offset];
   ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is false positive, 'xstats_mode_count' should be preventing taking
the loop and accessing 'xstats'.
Returning in that case to silence the compiler warning.

Reported-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Tested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
drivers/event/octeontx2/otx2_evdev_stats.h

index 9d7c694..74fcec8 100644 (file)
@@ -67,7 +67,7 @@ otx2_sso_xstats_get(const struct rte_eventdev *event_dev,
 
        switch (mode) {
        case RTE_EVENT_DEV_XSTATS_DEVICE:
-               break;
+               return 0;
        case RTE_EVENT_DEV_XSTATS_PORT:
                if (queue_port_id >= (signed int)dev->nb_event_ports)
                        goto invalid_value;