aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-11-27 08:26:00 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-11-27 08:26:00 +0000
commitb8bef26c8de6ae4ca6d80a9907f51a22a2561598 (patch)
treefb1553aaa287b06b6b95ff30d90d32b589695e2e
parent9b3727457d1f779da81569c2ca42ff6cd5f5b03d (diff)
Simplify.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89998 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/clang-cc/Options.cpp37
1 files changed, 9 insertions, 28 deletions
diff --git a/tools/clang-cc/Options.cpp b/tools/clang-cc/Options.cpp
index 34d7f4060a..5a298bb246 100644
--- a/tools/clang-cc/Options.cpp
+++ b/tools/clang-cc/Options.cpp
@@ -1031,40 +1031,21 @@ void clang::InitializeLangOptions(LangOptions &Options,
FrontendOptions::InputKind IK) {
using namespace langoptions;
- switch (IK) {
- case FrontendOptions::IK_None:
- case FrontendOptions::IK_AST:
- assert(0 && "Invalid input kind!");
- case FrontendOptions::IK_Asm:
+ // Set some properties which depend soley on the input kind; it would be nice
+ // to move these to the language standard, and have the driver resolve the
+ // input kind + language standard.
+ if (IK == FrontendOptions::IK_Asm) {
Options.AsmPreprocessor = 1;
- // FALLTHROUGH
- case FrontendOptions::IK_PreprocessedC:
- // FALLTHROUGH
- case FrontendOptions::IK_C:
- // Do nothing.
- break;
- case FrontendOptions::IK_PreprocessedCXX:
- // FALLTHROUGH
- case FrontendOptions::IK_CXX:
- Options.CPlusPlus = 1;
- break;
- case FrontendOptions::IK_PreprocessedObjC:
- // FALLTHROUGH
- case FrontendOptions::IK_ObjC:
+ } else if (IK == FrontendOptions::IK_ObjC ||
+ IK == FrontendOptions::IK_ObjCXX ||
+ IK == FrontendOptions::IK_PreprocessedObjC ||
+ IK == FrontendOptions::IK_PreprocessedObjCXX) {
Options.ObjC1 = Options.ObjC2 = 1;
- break;
- case FrontendOptions::IK_PreprocessedObjCXX:
- // FALLTHROUGH
- case FrontendOptions::IK_ObjCXX:
- Options.ObjC1 = Options.ObjC2 = 1;
- Options.CPlusPlus = 1;
- break;
- case FrontendOptions::IK_OpenCL:
+ } else if (IK == FrontendOptions::IK_OpenCL) {
Options.OpenCL = 1;
Options.AltiVec = 1;
Options.CXXOperatorNames = 1;
Options.LaxVectorConversions = 1;
- break;
}
if (ObjCExclusiveGC)