Remarks - fix static analyzer warnings. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 9 Nov 2019 13:00:36 +0000 (13:00 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 9 Nov 2019 13:01:05 +0000 (13:01 +0000)
 - Fix uninitialized variable warnings.
 - Reuse BitstreamEntry iterator to avoid Wshadow warning.
 - Match declaration + definition arg names in BitstreamRemarkParser::processCommonMeta
 - Make BitstreamRemarkParser(StringRef) constructor explicit

llvm/include/llvm/Bitstream/BitstreamReader.h
llvm/include/llvm/Remarks/Remark.h
llvm/lib/Remarks/BitstreamRemarkParser.cpp
llvm/lib/Remarks/BitstreamRemarkParser.h

index b49a969..c476f60 100644 (file)
@@ -39,7 +39,7 @@ public:
   /// This contains information emitted to BLOCKINFO_BLOCK blocks. These
   /// describe abbreviations that all blocks of the specified ID inherit.
   struct BlockInfo {
-    unsigned BlockID;
+    unsigned BlockID = 0;
     std::vector<std::shared_ptr<BitCodeAbbrev>> Abbrevs;
     std::string Name;
     std::vector<std::pair<unsigned, std::string>> RecordNames;
index 73b2680..6211db4 100644 (file)
@@ -30,8 +30,8 @@ constexpr uint64_t CurrentRemarkVersion = 0;
 struct RemarkLocation {
   /// Absolute path of the source file corresponding to this remark.
   StringRef SourceFilePath;
-  unsigned SourceLine;
-  unsigned SourceColumn;
+  unsigned SourceLine = 0;
+  unsigned SourceColumn = 0;
 };
 
 // Create wrappers for C Binding types (see CBindingWrapping.h).
index 1cfde11..dfad590 100644 (file)
@@ -174,7 +174,7 @@ static Error parseBlock(T &ParserHelper, unsigned BlockID,
   // Stop when there is nothing to read anymore or when we encounter an
   // END_BLOCK.
   while (!Stream.AtEndOfStream()) {
-    Expected<BitstreamEntry> Next = Stream.advance();
+    Next = Stream.advance();
     if (!Next)
       return Next.takeError();
     switch (Next->Kind) {
@@ -366,15 +366,15 @@ Error BitstreamRemarkParser::parseMeta() {
 }
 
 Error BitstreamRemarkParser::processCommonMeta(
-    BitstreamMetaParserHelper &MetaHelper) {
-  if (Optional<uint64_t> Version = MetaHelper.ContainerVersion)
+    BitstreamMetaParserHelper &Helper) {
+  if (Optional<uint64_t> Version = Helper.ContainerVersion)
     ContainerVersion = *Version;
   else
     return createStringError(
         std::make_error_code(std::errc::illegal_byte_sequence),
         "Error while parsing BLOCK_META: missing container version.");
 
-  if (Optional<uint8_t> Type = MetaHelper.ContainerType) {
+  if (Optional<uint8_t> Type = Helper.ContainerType) {
     // Always >= BitstreamRemarkContainerType::First since it's unsigned.
     if (*Type > static_cast<uint8_t>(BitstreamRemarkContainerType::Last))
       return createStringError(
index 7c9cc2f..749219f 100644 (file)
@@ -34,15 +34,16 @@ struct BitstreamRemarkParser : public RemarkParser {
   std::unique_ptr<MemoryBuffer> TmpRemarkBuffer;
   /// The common metadata used to decide how to parse the buffer.
   /// This is filled when parsing the metadata block.
-  uint64_t ContainerVersion;
-  uint64_t RemarkVersion;
-  BitstreamRemarkContainerType ContainerType;
+  uint64_t ContainerVersion = 0;
+  uint64_t RemarkVersion = 0;
+  BitstreamRemarkContainerType ContainerType =
+      BitstreamRemarkContainerType::Standalone;
   /// Wether the parser is ready to parse remarks.
   bool ReadyToParseRemarks = false;
 
   /// Create a parser that expects to find a string table embedded in the
   /// stream.
-  BitstreamRemarkParser(StringRef Buf)
+  explicit BitstreamRemarkParser(StringRef Buf)
       : RemarkParser(Format::Bitstream), ParserHelper(Buf) {}
 
   /// Create a parser that uses a pre-parsed string table.