Fix MSVC "not all control paths return a value" warnings. NFCI.
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 20 Dec 2020 11:21:08 +0000 (11:21 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 20 Dec 2020 11:32:40 +0000 (11:32 +0000)
Add missing llvm_unreachable()'s after each all-enums switch statement.

clang/lib/Sema/SemaTemplate.cpp

index 74a31c0..9d31a87 100644 (file)
@@ -7637,6 +7637,7 @@ static Expr *BuildExpressionFromNonTypeTemplateArgumentValue(
     auto *OVE = new (S.Context) OpaqueValueExpr(Loc, T, VK);
     return ConstantExpr::Create(S.Context, OVE, Val);
   }
+  llvm_unreachable("Unhandled APValue::ValueKind enum");
 }
 
 ExprResult
@@ -7666,6 +7667,7 @@ Sema::BuildExpressionFromNonTypeTemplateArgument(const TemplateArgument &Arg,
     return BuildExpressionFromNonTypeTemplateArgumentValue(
         *this, Arg.getUncommonValueType(), Arg.getAsUncommonValue(), Loc);
   }
+  llvm_unreachable("Unhandled TemplateArgument::ArgKind enum");
 }
 
 /// Match two template parameters within template parameter lists.