Suppress the "typedef requires a name" warning in Microsoft-extensions mode

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108526 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 29ecdbc..12c60d2 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -1553,8 +1553,9 @@
     // extension in both Microsoft an GNU.
     if (DS.getStorageClassSpec() == DeclSpec::SCS_typedef &&
         Tag && isa<EnumDecl>(Tag)) {
-      Diag(DS.getSourceRange().getBegin(), diag::ext_typedef_without_a_name)
-        << DS.getSourceRange();
+      if (!getLangOptions().Microsoft)
+        Diag(DS.getSourceRange().getBegin(), diag::ext_typedef_without_a_name)
+          << DS.getSourceRange();
       return DeclPtrTy::make(Tag);
     }
 
diff --git a/test/Parser/MicrosoftExtensions.c b/test/Parser/MicrosoftExtensions.c
index 0b2733e..4a52e8b 100644
--- a/test/Parser/MicrosoftExtensions.c
+++ b/test/Parser/MicrosoftExtensions.c
@@ -34,3 +34,4 @@
 #define FOO(x) #@x
 char x = FOO(a);
 
+typedef enum E { e1 };