diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-09 22:45:47 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-09 22:45:47 +0000 |
commit | 094a84cc06e40a49ef256d0954b83ddd92deebe8 (patch) | |
tree | 9f8fc0a120c5c17ff29ac3f05ae4be4a66f586d9 | |
parent | 3ada2df42673b41ac173c0c9a3a2cb482837a424 (diff) |
(llvm up) Convert clang-cc.cpp:GetLanguage to StringSwitch.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86608 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/clang-cc/clang-cc.cpp | 41 |
1 files changed, 15 insertions, 26 deletions
diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp index 51a5b4a72d..21265050ee 100644 --- a/tools/clang-cc/clang-cc.cpp +++ b/tools/clang-cc/clang-cc.cpp @@ -440,32 +440,21 @@ static LangKind GetLanguage(llvm::StringRef Filename) { if (BaseLang != langkind_unspecified) return BaseLang; - llvm::StringRef Ext = Filename.rsplit('.').second; - if (Ext == "ast") - return langkind_ast; - else if (Ext == "c") - return langkind_c; - else if (Ext == "S" || Ext == "s") - return langkind_asm_cpp; - else if (Ext == "i") - return langkind_c_cpp; - else if (Ext == "ii") - return langkind_cxx_cpp; - else if (Ext == "m") - return langkind_objc; - else if (Ext == "mi") - return langkind_objc_cpp; - else if (Ext == "mm" || Ext == "M") - return langkind_objcxx; - else if (Ext == "mii") - return langkind_objcxx_cpp; - else if (Ext == "C" || Ext == "cc" || Ext == "cpp" || Ext == "CPP" || - Ext == "c++" || Ext == "cp" || Ext == "cxx") - return langkind_cxx; - else if (Ext == "cl") - return langkind_ocl; - else - return langkind_c; + return llvm::StringSwitch<LangKind>(Filename.rsplit('.').second) + .Case("ast", langkind_ast) + .Case("c", langkind_c) + .Cases("S", "s", langkind_asm_cpp) + .Case("i", langkind_c_cpp) + .Case("ii", langkind_cxx_cpp) + .Case("m", langkind_objc) + .Case("mi", langkind_objc_cpp) + .Cases("mm", "M", langkind_objcxx) + .Case("mii", langkind_objcxx_cpp) + .Case("C", langkind_cxx) + .Cases("C", "cc", "cp", langkind_cxx) + .Cases("cpp", "CPP", "c++", "cxx", langkind_cxx) + .Case("cl", langkind_ocl) + .Default(langkind_c); } |