Phase 2 of making the Decl class more lightweight...

Move Identifier/Loc instance variables (and associated getters/setters) down from Decl to ScopedDecl/FieldDecl.

Objc AST's can now inherit from Decl without getting instance variables and types that are C specific. For now, I am keeping NextDeclarator, since I believe it may be useful to ObjC. If not, it can be moved later.

llvm-svn: 41934
diff --git a/clang/CodeGen/CodeGenModule.h b/clang/CodeGen/CodeGenModule.h
index af2db80..d94f54a 100644
--- a/clang/CodeGen/CodeGenModule.h
+++ b/clang/CodeGen/CodeGenModule.h
@@ -28,6 +28,7 @@
   class ASTContext;
   class FunctionDecl;
   class Decl;
+  class ValueDecl;
   class FileVarDecl;
     
 namespace CodeGen {
@@ -53,7 +54,7 @@
   llvm::Module &getModule() const { return TheModule; }
   CodeGenTypes &getTypes() { return Types; }
   
-  llvm::Constant *GetAddrOfGlobalDecl(const Decl *D);
+  llvm::Constant *GetAddrOfGlobalDecl(const ValueDecl *D);
   
   /// getBuiltinLibFunction - Given a builtin id for a function like
   /// "__builtin_fabsf", return a Function* for "fabsf".