if (DebugKind <= CodeGenOptions::LimitedDebugInfo)
return;
- llvm::DIType T = getTypeOrNull(CGM.getContext().getRecordType(&RD));
+ QualType QTy = CGM.getContext().getRecordType(&RD);
+ llvm::DIType T = getTypeOrNull(QTy);
if (T.Verify() && T.isForwardDecl())
- getOrCreateType(QTy, getOrCreateFile(RD.getLocation());
+ getOrCreateType(QTy, getOrCreateFile(RD.getLocation()));
}
/// getCachedInterfaceTypeOrNull - Get the type from the interface
llvm::DIType getOrCreateInterfaceType(QualType Ty,
SourceLocation Loc);
- void completeFwdDecls(const RecordDecl *TD);
+ void completeFwdDecl(const RecordDecl &TD);
private:
/// EmitDeclare - Emit call to llvm.dbg.declare for a variable declaration.
// If necessary, provide the full definition of a type only used with a
// declaration so far.
if (CGDebugInfo *DI = CGM.getModuleDebugInfo())
- DI->completeFwdDecls(RD);
+ DI->completeFwdDecl(*RD);
}
static llvm::Type *getTypeForFormat(llvm::LLVMContext &VMContext,