[PATCH] D17983: Eliminate many benign instances of "potentially uninitialized local variable" warnings

Alexander Riccio via cfe-commits cfe-commits at lists.llvm.org
Tue Mar 8 22:58:25 PST 2016


ariccio created this revision.
ariccio added subscribers: llvm-commits, cfe-commits.
Herald added a reviewer: tstellarAMD.
Herald added subscribers: joker.eph, dsanders, arsenm, MatzeB.

Currently, the "potentially uninitialized local variable" & "potentially uninitialized local pointer variable" warnings are turned off. At some point we should probably turn them back on, because they can find serious problems. This patch eliminates the most obviously benign offenders. 


This leaves about ~33 not-so-obviously benign offenders. which I'll include here for convenience:



|Severity| Code | Description | Project | File | Line | Category | Source | Suppression |
 --------   -----   ------------     -----      ----  -----   --------      ------     -------------
|Warning|	C4703| potentially uninitialized local pointer variable 'ExprOffset' used | LLVMMipsAsmParser | c:\llvm\llvm\lib\target\mips\asmparser\mipsasmparser.cpp | 2668 |
|Warning|	C4701| potentially uninitialized local variable 'Encoding' used | clangCodeGen | c:\llvm\llvm\tools\clang\lib\codegen\cgdebuginfo.cpp | 573 |
|Warning|	C4701| potentially uninitialized local variable 'result' used | clangCodeGen | c:\llvm\llvm\tools\clang\lib\codegen\cgobjc.cpp | 2675 |
|Warning|	C4701| potentially uninitialized local variable 'Nullability' used | clangParse | c:\llvm\llvm\tools\clang\lib\parse\parseobjc.cpp | 1202 |
|Warning|	C4701| potentially uninitialized local variable 'RepresentationMethod' used | clangParse | c:\llvm\llvm\tools\clang\lib\parse\parsepragma.cpp | 1582 |
|Warning|	C4701| potentially uninitialized local variable 'FirstOpKind' used | clangSema | c:\llvm\llvm\tools\clang\lib\sema\sematemplate.cpp | 4464 |
|Warning|	C4701| potentially uninitialized local variable 'FnEntry8BitAbbrev' used | LLVMBitWriter | c:\llvm\llvm\lib\bitcode\writer\bitcodewriter.cpp | 2353 |
|Warning|	C4701| potentially uninitialized local variable 'FnEntry7BitAbbrev' used | LLVMBitWriter | c:\llvm\llvm\lib\bitcode\writer\bitcodewriter.cpp | 2357 |
|Warning|	C4701| potentially uninitialized local variable 'FnEntry6BitAbbrev' used | LLVMBitWriter | c:\llvm\llvm\lib\bitcode\writer\bitcodewriter.cpp | 2355 |
|Warning|	C4701| potentially uninitialized local variable 'OutIt' used | LLVMCodeGen | c:\llvm\llvm\lib\codegen\liveinterval.cpp | 876 |
|Warning|	C4701| potentially uninitialized local variable 'mid' used | LLVMHexagonCodeGen | c:\llvm\build\lib\target\hexagon\hexagongeninstrinfo.inc | 9722 |
|Warning|	C4701| potentially uninitialized local variable 'RealEightBitCounterArray' used | LLVMInstrumentation | c:\llvm\llvm\lib\transforms\instrumentation\sanitizercoverage.cpp | 294 |
|Warning|	C4701| potentially uninitialized local variable 'LoOffset' used | LLVMMipsAsmParser | c:\llvm\llvm\lib\target\mips\asmparser\mipsasmparser.cpp | 2668 |
|Warning|	C4701| potentially uninitialized local variable 'HiOffset' used | LLVMMipsAsmParser | c:\llvm\llvm\lib\target\mips\asmparser\mipsasmparser.cpp | 2659 |
|Warning|	C4701| potentially uninitialized local variable 'ExprOffset' used | LLVMMipsAsmParser | c:\llvm\llvm\lib\target\mips\asmparser\mipsasmparser.cpp | 2668 |
|Warning|	C4701| potentially uninitialized local variable 'BranchTargetNoTraps' used | LLVMMipsAsmParser | c:\llvm\llvm\lib\target\mips\asmparser\mipsasmparser.cpp | 3072 |
Warning|	C4701| potentially uninitialized local variable 'MatImm' used | LLVMPowerPCCodeGen | c:\llvm\llvm\lib\target\powerpc\ppciseldagtodag.cpp | 808 |
|Warning|	C4701| potentially uninitialized local variable 'MaskEnd' used | LLVMPowerPCCodeGen | c:\llvm\llvm\lib\target\powerpc\ppciseldagtodag.cpp | 809 |
|Warning|	C4701| potentially uninitialized local variable 'FirstLP' used | LLVMScalarOpts | c:\llvm\llvm\lib\transforms\scalar\loadcombine.cpp | 198 |
|Warning|	C4701| potentially uninitialized local variable 'CC' used | LLVMSelectionDAG | c:\llvm\llvm\lib\codegen\selectiondag\dagcombiner.cpp | 13889 |
|Warning|	C4701| potentially uninitialized local variable 'Operation' used | llvm-ar | c:\llvm\llvm\tools\llvm-ar\llvm-ar.cpp | 287 |
|Warning|	C4701| potentially uninitialized local variable 'Kind' used | llvm-ar | c:\llvm\llvm\tools\llvm-ar\llvm-ar.cpp | 602 |
|Warning|	C4701| potentially uninitialized local variable 'CurSegAddress' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 8548 |
|Warning|	C4701| potentially uninitialized local variable 'objc_class' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 5435 |
|Warning|	C4701| potentially uninitialized local variable 'r_type' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 1781 |
|Warning|	C4701| potentially uninitialized local variable 'r_value' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 1783 |
|Warning|	C4701| potentially uninitialized local variable 'pair_r_value' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 1784 |
|Warning|	C4701| potentially uninitialized local variable 'r_value' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 1970 |
|Warning|	C4701| potentially uninitialized local variable 'other_half' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 1940 |
|Warning|	C4701| potentially uninitialized local variable 'pair_r_value' used | llvm-objdump | c:\llvm\llvm\tools\llvm-objdump\machodump.cpp | 1980 |
|Warning|	C4703| potentially uninitialized local pointer variable 'result' used | clangCodeGen | c:\llvm\llvm\tools\clang\lib\codegen\cgobjc.cpp | 2675 |
|Warning|	C4703| potentially uninitialized local pointer variable 'OutIt' used | LLVMCodeGen | c:\llvm\llvm\lib\codegen\liveinterval.cpp | 876 |
|Warning|	C4703| potentially uninitialized local pointer variable 'RealEightBitCounterArray' used | LLVMInstrumentation | c:\llvm\llvm\lib\transforms\instrumentation\sanitizercoverage.cpp | 294 |



http://reviews.llvm.org/D17983

Files:
  llvm/lib/Analysis/CFLAliasAnalysis.cpp
  llvm/lib/Analysis/DependenceAnalysis.cpp
  llvm/lib/Analysis/InstructionSimplify.cpp
  llvm/lib/AsmParser/LLParser.cpp
  llvm/lib/Bitcode/Reader/BitcodeReader.cpp
  llvm/lib/CodeGen/AtomicExpandPass.cpp
  llvm/lib/CodeGen/LiveInterval.cpp
  llvm/lib/CodeGen/MIRParser/MIRParser.cpp
  llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
  llvm/lib/IR/Core.cpp
  llvm/lib/LTO/LTOCodeGenerator.cpp
  llvm/lib/MC/MCAsmStreamer.cpp
  llvm/lib/MC/MachObjectWriter.cpp
  llvm/lib/Support/Windows/Path.inc
  llvm/lib/Support/YAMLParser.cpp
  llvm/lib/Target/AArch64/AArch64AdvSIMDScalarPass.cpp
  llvm/lib/Target/AArch64/AArch64FastISel.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
  llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp
  llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
  llvm/lib/Target/ARM/ARMFastISel.cpp
  llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
  llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
  llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp
  llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCShuffler.cpp
  llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
  llvm/lib/Target/Mips/MipsAsmPrinter.cpp
  llvm/lib/Target/TargetRecip.cpp
  llvm/lib/Target/X86/X86FastISel.cpp
  llvm/lib/Target/X86/X86FixupLEAs.cpp
  llvm/lib/Target/X86/X86ISelLowering.cpp
  llvm/lib/Target/X86/X86InstrInfo.cpp
  llvm/lib/Target/X86/X86WinEHState.cpp
  llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
  llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
  llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
  llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
  llvm/lib/Transforms/Scalar/SROA.cpp
  llvm/lib/Transforms/Utils/MemorySSA.cpp
  llvm/tools/clang/include/clang/Sema/Lookup.h
  llvm/tools/clang/lib/AST/ExprConstant.cpp
  llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
  llvm/tools/clang/lib/CodeGen/CGClass.cpp
  llvm/tools/clang/lib/CodeGen/CGCleanup.h
  llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp
  llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp
  llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
  llvm/tools/clang/lib/Driver/ToolChain.cpp
  llvm/tools/clang/lib/Lex/Preprocessor.cpp
  llvm/tools/clang/lib/Parse/ParseObjc.cpp
  llvm/tools/clang/lib/Sema/SemaDecl.cpp
  llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  llvm/tools/clang/lib/Sema/SemaInit.cpp
  llvm/tools/clang/lib/Sema/SemaLambda.cpp
  llvm/tools/clang/lib/Sema/SemaLookup.cpp
  llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp
  llvm/tools/clang/lib/Serialization/ASTReader.cpp
  llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp
  llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
  llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
  llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D17983.50108.patch
Type: text/x-patch
Size: 47306 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160309/c987766f/attachment-0001.bin>


More information about the cfe-commits mailing list