Add "ScopedDecl" AST, used by ValueDecl and TypeDecl. 

This allows us to sink the "Next" field, which isn't used by FieldDecl and ObjcIvarDecl.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41931 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/Sema.h b/Sema/Sema.h
index 7a3466f..c4d1e4f 100644
--- a/Sema/Sema.h
+++ b/Sema/Sema.h
@@ -29,6 +29,7 @@
   class ASTContext;
   class Preprocessor;
   class Decl;
+  class ScopedDecl;
   class Expr;
   class InitListExpr;
   class VarDecl;
@@ -175,9 +176,9 @@
   /// More parsing and symbol table subroutines...
   ParmVarDecl *ParseParamDeclarator(DeclaratorChunk &FI, unsigned ArgNo,
                                     Scope *FnBodyScope);
-  Decl *LookupScopedDecl(IdentifierInfo *II, unsigned NSI, SourceLocation IdLoc,
-                         Scope *S);  
-  Decl *LazilyCreateBuiltin(IdentifierInfo *II, unsigned ID, Scope *S);
+  ScopedDecl *LookupScopedDecl(IdentifierInfo *II, unsigned NSI, 
+                               SourceLocation IdLoc, Scope *S);  
+  ScopedDecl *LazilyCreateBuiltin(IdentifierInfo *II, unsigned ID, Scope *S);
   Decl *ImplicitlyDefineFunction(SourceLocation Loc, IdentifierInfo &II,
                                  Scope *S);
   // Decl attributes - this routine is the top level dispatcher.