]> granicus.if.org Git - llvm/commitdiff
[Remarks] Silence gcc warning by catching unhandled values in switches
authorMikael Holmen <mikael.holmen@ericsson.com>
Thu, 4 Jul 2019 09:29:18 +0000 (09:29 +0000)
committerMikael Holmen <mikael.holmen@ericsson.com>
Thu, 4 Jul 2019 09:29:18 +0000 (09:29 +0000)
Without this fix gcc (7.4) complains with
 ../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef)':
 ../lib/Remarks/RemarkParser.cpp:29:1: error: control reaches end of non-void function [-Werror=return-type]
  }
  ^
 ../lib/Remarks/RemarkParser.cpp: In function 'std::unique_ptr<llvm::remarks::ParserImpl> formatToParserImpl(llvm::remarks::ParserFormat, llvm::StringRef, const llvm::remarks::ParsedStringTable&)':
 ../lib/Remarks/RemarkParser.cpp:38:1: error: control reaches end of non-void function [-Werror=return-type]
  }
  ^

The Format enum currently only contains the value YAML which is indeed
already handled in the switches, but gcc complains anyway.

Adding a default case with an llvm_unreachable silences gcc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@365118 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Remarks/RemarkParser.cpp

index 8bd2b94d73a3201522a2fe83830fbf4ca1148192..3af293a98b987de32cd2f6e54cced53cfdb32d4c 100644 (file)
@@ -25,6 +25,8 @@ static std::unique_ptr<ParserImpl> formatToParserImpl(ParserFormat Format,
   switch (Format) {
   case ParserFormat::YAML:
     return llvm::make_unique<YAMLParserImpl>(Buf);
+  default:
+    llvm_unreachable("Unknown format encountered!");
   };
 }
 
@@ -34,6 +36,8 @@ formatToParserImpl(ParserFormat Format, StringRef Buf,
   switch (Format) {
   case ParserFormat::YAML:
     return llvm::make_unique<YAMLParserImpl>(Buf, &StrTab);
+  default:
+    llvm_unreachable("Unknown format encountered!");
   };
 }