diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-09-29 14:42:43 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-09-29 14:42:43 +0000 |
commit | 214904e358535e316a0750af67806d684bf82b75 (patch) | |
tree | 241ffc060849be678dcdf7455955f5cf6a1e9b1f | |
parent | 483168227946f70e9dd7d12e7bf72bb1d76e0740 (diff) |
Set GNUMode only for the "gnu" language standard options, from Ken Dyck!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83064 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/clang-cc/clang-cc.cpp | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp index 6a92a28402..2d6fda0d45 100644 --- a/tools/clang-cc/clang-cc.cpp +++ b/tools/clang-cc/clang-cc.cpp @@ -518,8 +518,7 @@ static void InitializeLangOptions(LangOptions &Options, LangKind LK){ enum LangStds { lang_unspecified, lang_c89, lang_c94, lang_c99, - lang_gnu_START, - lang_gnu89 = lang_gnu_START, lang_gnu99, + lang_gnu89, lang_gnu99, lang_cxx98, lang_gnucxx98, lang_cxx0x, lang_gnucxx0x }; @@ -752,7 +751,22 @@ static void InitializeLanguageStandard(LangOptions &Options, LangKind LK, } // GNUMode - Set if we're in gnu99, gnu89, gnucxx98, etc. - Options.GNUMode = LangStd >= lang_gnu_START; + switch (LangStd) { + default: assert(0 && "Unknown language standard!"); + case lang_gnucxx0x: + case lang_gnucxx98: + case lang_gnu99: + case lang_gnu89: + Options.GNUMode = 1; + break; + case lang_cxx0x: + case lang_cxx98: + case lang_c99: + case lang_c94: + case lang_c89: + Options.GNUMode = 0; + break; + } if (Options.CPlusPlus) { Options.C99 = 0; |