On Mon, Feb 25, 2019 at 9:39 PM Nathan Chancellor <natechancel...@gmail.com> wrote: > > When building with -Wsometimes-uninitialized, Clang warns: > > arch/powerpc/xmon/ppc-dis.c:157:7: warning: variable 'opcode' is used > uninitialized whenever 'if' condition is false > [-Wsometimes-uninitialized] > if (cpu_has_feature(CPU_FTRS_POWER9)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > arch/powerpc/xmon/ppc-dis.c:167:7: note: uninitialized use occurs here > if (opcode == NULL) > ^~~~~~ > arch/powerpc/xmon/ppc-dis.c:157:3: note: remove the 'if' if its > condition is always true > if (cpu_has_feature(CPU_FTRS_POWER9)) > ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > arch/powerpc/xmon/ppc-dis.c:132:38: note: initialize the variable > 'opcode' to silence this warning > const struct powerpc_opcode *opcode; > ^ > = NULL > 1 warning generated. > > This warning seems to make no sense on the surface because opcode is set > to NULL right below this statement. However, there is a comma instead of > semicolon to end the dialect assignment, meaning that the opcode > assignment only happens in the if statement. Properly terminate that > line so that Clang no longer warns. > > Fixes: 5b102782c7f4 ("powerpc/xmon: Enable disassembly files (compilation > changes)") > Link: https://github.com/ClangBuiltLinux/linux/issues/390 > Signed-off-by: Nathan Chancellor <natechancel...@gmail.com>
haha! (shows office mates). Nice find, and fix! Reviewed-by: Nick Desaulniers <ndesaulni...@google.com> > --- > arch/powerpc/xmon/ppc-dis.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/xmon/ppc-dis.c b/arch/powerpc/xmon/ppc-dis.c > index 9deea5ee13f6..27f1e6415036 100644 > --- a/arch/powerpc/xmon/ppc-dis.c > +++ b/arch/powerpc/xmon/ppc-dis.c > @@ -158,7 +158,7 @@ int print_insn_powerpc (unsigned long insn, unsigned long > memaddr) > dialect |= (PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7 > | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 | PPC_OPCODE_HTM > | PPC_OPCODE_ALTIVEC | PPC_OPCODE_ALTIVEC2 > - | PPC_OPCODE_VSX | PPC_OPCODE_VSX3), > + | PPC_OPCODE_VSX | PPC_OPCODE_VSX3); > > /* Get the major opcode of the insn. */ > opcode = NULL; > -- > 2.21.0 > -- Thanks, ~Nick Desaulniers