]> granicus.if.org Git - clang/commitdiff
Set GNUMode only for the "gnu" language standard options, from Ken Dyck!
authorDouglas Gregor <dgregor@apple.com>
Tue, 29 Sep 2009 14:42:43 +0000 (14:42 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 29 Sep 2009 14:42:43 +0000 (14:42 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83064 91177308-0d34-0410-b5e6-96231b3b80d8

tools/clang-cc/clang-cc.cpp

index 6a92a284020db1920af805fdfd1099bb1531029d..2d6fda0d453df1143f6401f7d5a68ed1b513eeab 100644 (file)
@@ -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;