diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-11-27 08:26:00 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-11-27 08:26:00 +0000 |
commit | b8bef26c8de6ae4ca6d80a9907f51a22a2561598 (patch) | |
tree | fb1553aaa287b06b6b95ff30d90d32b589695e2e | |
parent | 9b3727457d1f779da81569c2ca42ff6cd5f5b03d (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.cpp | 37 |
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) |