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.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41934 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/ASTStreamers.cpp b/Driver/ASTStreamers.cpp
index 342ee6b..b60a994 100644
--- a/Driver/ASTStreamers.cpp
+++ b/Driver/ASTStreamers.cpp
@@ -124,8 +124,8 @@
       PrintTypeDefDecl(TD);
     } else if (ObjcInterfaceDecl *OID = dyn_cast<ObjcInterfaceDecl>(D)) {
       PrintObjcInterfaceDecl(OID);
-    } else {
-      fprintf(stderr, "Read top-level variable decl: '%s'\n", D->getName());
+    } else if (ScopedDecl *SD = dyn_cast<ScopedDecl>(D)) {
+      fprintf(stderr, "Read top-level variable decl: '%s'\n", SD->getName());
     }
   }
   
@@ -154,8 +154,8 @@
       }
     } else if (TypedefDecl *TD = dyn_cast<TypedefDecl>(D)) {
       PrintTypeDefDecl(TD);
-    } else {
-      fprintf(stderr, "Read top-level variable decl: '%s'\n", D->getName());
+    } else if (ScopedDecl *SD = dyn_cast<ScopedDecl>(D)) {
+      fprintf(stderr, "Read top-level variable decl: '%s'\n", SD->getName());
     }
   }