From 9b0ac3345716b686ad09b613b627d4f97c87d58f Mon Sep 17 00:00:00 2001 From: Saleem Abdulrasool Date: Mon, 15 Feb 2016 00:36:52 +0000 Subject: [PATCH] silence -Wreturn-type warnings These codepaths would generate warnings with GCC on linux even though the switch was covered. Add llvm_unreachable markers to indicate that the switch should be covered. NFC. llvm-svn: 260865 --- clang/lib/Index/IndexSymbol.cpp | 3 +++ clang/lib/Index/IndexingContext.cpp | 1 + clang/tools/libclang/CXIndexDataConsumer.cpp | 3 +++ 3 files changed, 7 insertions(+) diff --git a/clang/lib/Index/IndexSymbol.cpp b/clang/lib/Index/IndexSymbol.cpp index bf3bfd1..95ae977 100644 --- a/clang/lib/Index/IndexSymbol.cpp +++ b/clang/lib/Index/IndexSymbol.cpp @@ -266,6 +266,7 @@ StringRef index::getSymbolKindString(SymbolKind K) { case SymbolKind::CXXTypeAlias: return "type-alias"; case SymbolKind::CXXInterface: return "c++-__interface"; } + llvm_unreachable("invalid symbol kind"); } StringRef index::getTemplateKindStr(SymbolCXXTemplateKind TK) { @@ -275,6 +276,7 @@ StringRef index::getTemplateKindStr(SymbolCXXTemplateKind TK) { case SymbolCXXTemplateKind::TemplatePartialSpecialization : return "TPS"; case SymbolCXXTemplateKind::TemplateSpecialization: return "TS"; } + llvm_unreachable("invalid template kind"); } StringRef index::getSymbolLanguageString(SymbolLanguage K) { @@ -283,4 +285,5 @@ StringRef index::getSymbolLanguageString(SymbolLanguage K) { case SymbolLanguage::ObjC: return "ObjC"; case SymbolLanguage::CXX: return "C++"; } + llvm_unreachable("invalid symbol language kind"); } diff --git a/clang/lib/Index/IndexingContext.cpp b/clang/lib/Index/IndexingContext.cpp index 91fbbfb..9ac22f8 100644 --- a/clang/lib/Index/IndexingContext.cpp +++ b/clang/lib/Index/IndexingContext.cpp @@ -135,6 +135,7 @@ bool IndexingContext::isTemplateImplicitInstantiation(const Decl *D) { case TSK_ExplicitInstantiationDefinition: return true; } + llvm_unreachable("invalid TemplateSpecializationKind"); } bool IndexingContext::shouldIgnoreIfImplicit(const Decl *D) { diff --git a/clang/tools/libclang/CXIndexDataConsumer.cpp b/clang/tools/libclang/CXIndexDataConsumer.cpp index f6f8e30..322725e 100644 --- a/clang/tools/libclang/CXIndexDataConsumer.cpp +++ b/clang/tools/libclang/CXIndexDataConsumer.cpp @@ -1263,6 +1263,7 @@ static CXIdxEntityKind getEntityKindFromSymbolKind(SymbolKind K) { case SymbolKind::CXXTypeAlias: return CXIdxEntity_CXXTypeAlias; case SymbolKind::CXXInterface: return CXIdxEntity_CXXInterface; } + llvm_unreachable("invalid symbol kind"); } static CXIdxEntityCXXTemplateKind @@ -1275,6 +1276,7 @@ getEntityKindFromSymbolCXXTemplateKind(SymbolCXXTemplateKind K) { case SymbolCXXTemplateKind::TemplateSpecialization: return CXIdxEntity_TemplateSpecialization; } + llvm_unreachable("invalid template kind"); } static CXIdxEntityLanguage getEntityLangFromSymbolLang(SymbolLanguage L) { @@ -1283,4 +1285,5 @@ static CXIdxEntityLanguage getEntityLangFromSymbolLang(SymbolLanguage L) { case SymbolLanguage::ObjC: return CXIdxEntityLang_ObjC; case SymbolLanguage::CXX: return CXIdxEntityLang_CXX; } + llvm_unreachable("invalid symbol language"); } -- 2.7.4