[clang] Silence GCC warnings about control reaching end of non void function

This fixes GCC warnings since
e39205654dc11c50bd117e8ccac243a641ebd71f.
diff --git a/clang/include/clang/Basic/DiagnosticIDs.h b/clang/include/clang/Basic/DiagnosticIDs.h
index 2402996..daad66f 100644
--- a/clang/include/clang/Basic/DiagnosticIDs.h
+++ b/clang/include/clang/Basic/DiagnosticIDs.h
@@ -18,6 +18,7 @@
 #include "clang/Basic/LLVM.h"
 #include "llvm/ADT/IntrusiveRefCntPtr.h"
 #include "llvm/ADT/StringRef.h"
+#include "llvm/Support/ErrorHandling.h"
 #include <optional>
 #include <vector>
 
@@ -310,6 +311,7 @@
         return {diag::Severity::Fatal, std::string(Message), CLASS_ERROR,
                 /*ShowInSystemHeader*/ true};
       }
+      llvm_unreachable("Fully covered switch above!");
     }());
   }
 
diff --git a/clang/lib/Sema/SemaOverload.cpp b/clang/lib/Sema/SemaOverload.cpp
index fbeb6ee..d304f32 100644
--- a/clang/lib/Sema/SemaOverload.cpp
+++ b/clang/lib/Sema/SemaOverload.cpp
@@ -7324,6 +7324,7 @@
     case DiagnoseIfAttr::DS_error:
       return diag::Severity::Error;
     }
+    llvm_unreachable("Fully covered switch above!");
   };
 
   for (const auto *DIA : llvm::make_range(WarningBegin, Attrs.end()))