• Arnd Bergmann's avatar
    scsi: lpfc: avoid false-positive gcc-8 warning · 5fe5a6c9
    Arnd Bergmann authored
    This is an interesting regression with gcc-8, showing a harmless warning
    for correct code:
    
    In file included from include/linux/kernel.h:13:0,
                     ...
                     from drivers/scsi/lpfc/lpfc_debugfs.c:23:
    include/linux/printk.h:301:2: error: 'eq' may be used uninitialized in this function [-Werror=maybe-uninitialized]
      printk(KERN_ERR pr_fmt(fmt), ##__VA_ARGS__)
      ^~~~~~
    In file included from drivers/scsi/lpfc/lpfc_debugfs.c:58:0:
    drivers/scsi/lpfc/lpfc_debugfs.h:451:31: note: 'eq' was declared here
    
    I managed to reduce the warning into a small test case for gcc-8 that I
    reported in the gcc bugzilla[1].
    
    As a workaround, this changes the logic to move the two assignments of
    'eq' out of the conditions and instead make the index conditional.  This
    works for all configurations I tried and avoids adding a bogus
    initialization.
    Acked-by: default avatarJames Smart <james.smart@broadcom.com>
    Link: [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81958Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    5fe5a6c9
lpfc_debugfs.h 19.1 KB