CFieldCallback doesn't need to create an ExtensionRAIIObject:  it's actually
automatically shadowed by the ExtensionRAIIObject created by
ParseStructDeclaration.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@85941 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp
index be0df33..a47065c 100644
--- a/lib/Parse/ParseDecl.cpp
+++ b/lib/Parse/ParseDecl.cpp
@@ -1605,21 +1605,10 @@
           P(P), TagDecl(TagDecl), FieldDecls(FieldDecls) {}
 
         virtual DeclPtrTy invoke(FieldDeclarator &FD) {
-          const DeclSpec &DS = FD.D.getDeclSpec();
-          DeclPtrTy Field;
-
           // Install the declarator into the current TagDecl.
-          if (FD.D.getExtension()) {
-            // Silences extension warnings
-            ExtensionRAIIObject O(P.Diags);
-            Field = P.Actions.ActOnField(P.CurScope, TagDecl,
-                                         DS.getSourceRange().getBegin(),
-                                         FD.D, FD.BitfieldSize);
-          } else {
-            Field = P.Actions.ActOnField(P.CurScope, TagDecl,
-                                         DS.getSourceRange().getBegin(),
-                                         FD.D, FD.BitfieldSize);
-          }
+          DeclPtrTy Field = P.Actions.ActOnField(P.CurScope, TagDecl,
+                              FD.D.getDeclSpec().getSourceRange().getBegin(),
+                                                 FD.D, FD.BitfieldSize);
           FieldDecls.push_back(Field);
           return Field;
         }