Thanks! I added a test for this in r151027. Nico
On Mon, Feb 20, 2012 at 10:05 AM, Eric Christopher <[email protected]> wrote: > Author: echristo > Date: Mon Feb 20 12:05:04 2012 > New Revision: 150976 > > URL: http://llvm.org/viewvc/llvm-project?rev=150976&view=rev > Log: > Make forward declarations for objective-c types use the new > temporary forward declaration nodes. Fixes a problem building > Chrome. > > Modified: > cfe/trunk/lib/CodeGen/CGDebugInfo.cpp > > Modified: cfe/trunk/lib/CodeGen/CGDebugInfo.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGDebugInfo.cpp?rev=150976&r1=150975&r2=150976&view=diff > ============================================================================== > --- cfe/trunk/lib/CodeGen/CGDebugInfo.cpp (original) > +++ cfe/trunk/lib/CodeGen/CGDebugInfo.cpp Mon Feb 20 12:05:04 2012 > @@ -336,21 +336,19 @@ > case BuiltinType::Void: > return llvm::DIType(); > case BuiltinType::ObjCClass: > - return DBuilder.createStructType(TheCU, "objc_class", > - getOrCreateMainFile(), 0, 0, 0, > - llvm::DIDescriptor::FlagFwdDecl, > - llvm::DIArray()); > + return DBuilder.createForwardDecl(llvm::dwarf::DW_TAG_structure_type, > + "objc_class", getOrCreateMainFile(), > + 0); > case BuiltinType::ObjCId: { > // typedef struct objc_class *Class; > // typedef struct objc_object { > // Class isa; > // } *id; > > - llvm::DIType OCTy = > - DBuilder.createStructType(TheCU, "objc_class", > - getOrCreateMainFile(), 0, 0, 0, > - llvm::DIDescriptor::FlagFwdDecl, > - llvm::DIArray()); > + llvm::DIType OCTy = > + DBuilder.createForwardDecl(llvm::dwarf::DW_TAG_structure_type, > + "objc_class", getOrCreateMainFile(), > + 0); > unsigned Size = CGM.getContext().getTypeSize(CGM.getContext().VoidPtrTy); > > llvm::DIType ISATy = DBuilder.createPointerType(OCTy, Size); > @@ -368,10 +366,10 @@ > 0, 0, 0, 0, Elements); > } > case BuiltinType::ObjCSel: { > - return DBuilder.createStructType(TheCU, "objc_selector", > - getOrCreateMainFile(), 0, 0, 0, > - llvm::DIDescriptor::FlagFwdDecl, > - llvm::DIArray()); > + return > + DBuilder.createForwardDecl(llvm::dwarf::DW_TAG_structure_type, > + "objc_selector", getOrCreateMainFile(), > + 0); > } > case BuiltinType::UChar: > case BuiltinType::Char_U: Encoding = llvm::dwarf::DW_ATE_unsigned_char; > break; > @@ -1224,10 +1222,9 @@ > ObjCInterfaceDecl *Def = ID->getDefinition(); > if (!Def) { > llvm::DIType FwdDecl = > - DBuilder.createStructType(Unit, ID->getName(), > - DefUnit, Line, 0, 0, > - llvm::DIDescriptor::FlagFwdDecl, > - llvm::DIArray(), RuntimeLang); > + DBuilder.createForwardDecl(llvm::dwarf::DW_TAG_structure_type, > + ID->getName(), DefUnit, Line, > + RuntimeLang); > return FwdDecl; > } > ID = Def; > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
