diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-01-20 01:17:11 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-01-20 01:17:11 +0000 |
commit | 6e6ad602e578dd178453d0008fe47ef13f629e24 (patch) | |
tree | 697316433686f85f3013558cdaee8f88663ff09d /clang/lib/CodeGen | |
parent | c59945b4bdfd8887bf9efb1a69171084910acf14 (diff) | |
download | bcm5719-llvm-6e6ad602e578dd178453d0008fe47ef13f629e24.tar.gz bcm5719-llvm-6e6ad602e578dd178453d0008fe47ef13f629e24.zip |
Remove ScopedDecl, collapsing all of its functionality into Decl, so
that every declaration lives inside a DeclContext.
Moved several things that don't have names but were ScopedDecls (and,
therefore, NamedDecls) to inherit from Decl rather than NamedDecl,
including ObjCImplementationDecl and LinkageSpecDecl. Now, we don't
store empty DeclarationNames for these things, nor do we try to insert
them into DeclContext's lookup structure.
The serialization tests are temporarily disabled. We'll re-enable them
once we've sorted out the remaining ownership/serialiazation issues
between DeclContexts and TranslationUnion, DeclGroups, etc.
llvm-svn: 62562
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r-- | clang/lib/CodeGen/CGObjC.cpp | 2 | ||||
-rw-r--r-- | clang/lib/CodeGen/CGObjCMac.cpp | 4 | ||||
-rw-r--r-- | clang/lib/CodeGen/ModuleBuilder.cpp | 4 |
3 files changed, 5 insertions, 5 deletions
diff --git a/clang/lib/CodeGen/CGObjC.cpp b/clang/lib/CodeGen/CGObjC.cpp index 1dcf1be9a04..eafb8586210 100644 --- a/clang/lib/CodeGen/CGObjC.cpp +++ b/clang/lib/CodeGen/CGObjC.cpp @@ -349,7 +349,7 @@ void CodeGenFunction::EmitObjCForCollectionStmt(const ObjCForCollectionStmt &S) if (const DeclStmt *SD = dyn_cast<DeclStmt>(S.getElement())) { EmitStmt(SD); assert(HaveInsertPoint() && "DeclStmt destroyed insert point!"); - const ScopedDecl* D = SD->getSolitaryDecl(); + const Decl* D = SD->getSolitaryDecl(); ElementTy = cast<ValueDecl>(D)->getType(); DeclAddress = LocalDeclMap[D]; } else { diff --git a/clang/lib/CodeGen/CGObjCMac.cpp b/clang/lib/CodeGen/CGObjCMac.cpp index 447b3d0a460..cd5ae644720 100644 --- a/clang/lib/CodeGen/CGObjCMac.cpp +++ b/clang/lib/CodeGen/CGObjCMac.cpp @@ -2397,9 +2397,9 @@ ObjCTypesHelper::ObjCTypesHelper(CodeGen::CodeGenModule &cgm) SourceLocation(), &Ctx.Idents.get("_objc_super")); RD->addDecl(FieldDecl::Create(Ctx, RD, SourceLocation(), 0, - Ctx.getObjCIdType(), 0, false, 0)); + Ctx.getObjCIdType(), 0, false)); RD->addDecl(FieldDecl::Create(Ctx, RD, SourceLocation(), 0, - Ctx.getObjCClassType(), 0, false, 0)); + Ctx.getObjCClassType(), 0, false)); RD->completeDefinition(Ctx); SuperCTy = Ctx.getTagDeclType(RD); diff --git a/clang/lib/CodeGen/ModuleBuilder.cpp b/clang/lib/CodeGen/ModuleBuilder.cpp index be6e171bc45..9afdc0368c4 100644 --- a/clang/lib/CodeGen/ModuleBuilder.cpp +++ b/clang/lib/CodeGen/ModuleBuilder.cpp @@ -67,8 +67,8 @@ namespace { } virtual void HandleTopLevelDecl(Decl *D) { - // Make sure to emit all elements of a ScopedDecl. - if (ScopedDecl *SD = dyn_cast<ScopedDecl>(D)) { + // Make sure to emit all elements of a Decl. + if (Decl *SD = dyn_cast<Decl>(D)) { for (; SD; SD = SD->getNextDeclarator()) Builder->EmitTopLevelDecl(SD); } else { |