Introduce DeclaratorDecl and pass DeclaratorInfo through the Decl/Sema interfaces.

DeclaratorDecl contains a DeclaratorInfo* to keep type source info.
Subclasses of DeclaratorDecl are FieldDecl, FunctionDecl, and VarDecl.
EnumConstantDecl still inherits from ValueDecl since it has no need for DeclaratorInfo.

Decl/Sema interfaces accept a DeclaratorInfo as parameter but no DeclaratorInfo is created yet.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79392 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/ASTContext.cpp b/lib/AST/ASTContext.cpp
index 69ff792..063bb2a 100644
--- a/lib/AST/ASTContext.cpp
+++ b/lib/AST/ASTContext.cpp
@@ -2549,7 +2549,8 @@
     for (unsigned i = 0; i < 4; ++i) {
       FieldDecl *Field = FieldDecl::Create(*this, CFConstantStringTypeDecl, 
                                            SourceLocation(), 0,
-                                           FieldTypes[i], /*BitWidth=*/0, 
+                                           FieldTypes[i], /*DInfo=*/0,
+                                           /*BitWidth=*/0, 
                                            /*Mutable=*/false);
       CFConstantStringTypeDecl->addDecl(Field);
     }
@@ -2585,7 +2586,8 @@
       FieldDecl *Field = FieldDecl::Create(*this, 
                                            ObjCFastEnumerationStateTypeDecl, 
                                            SourceLocation(), 0, 
-                                           FieldTypes[i], /*BitWidth=*/0, 
+                                           FieldTypes[i], /*DInfo=*/0,
+                                           /*BitWidth=*/0, 
                                            /*Mutable=*/false);
       ObjCFastEnumerationStateTypeDecl->addDecl(Field);
     }