From 86964a96530925e04d4c99ee0c84a7f5e86d1f3f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Tue, 5 Feb 2008 06:55:31 +0000 Subject: Change the key of CGRecordLayouts from being an llvm type* to being a decl*. LLVM Type*'s can change as types are refined, so we can't use them as a stable key in the map. Decls don't change, so use them instead. This patch was written by Anders, but he's too shy to commit it himself :) llvm-svn: 46743 --- clang/CodeGen/CodeGenFunction.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'clang/CodeGen/CodeGenFunction.cpp') diff --git a/clang/CodeGen/CodeGenFunction.cpp b/clang/CodeGen/CodeGenFunction.cpp index 98d0b01ad5a..dc31a27945b 100644 --- a/clang/CodeGen/CodeGenFunction.cpp +++ b/clang/CodeGen/CodeGenFunction.cpp @@ -139,14 +139,11 @@ void CodeGenFunction::StartBlock(const char *N) { /// getCGRecordLayout - Return record layout info. const CGRecordLayout *CodeGenFunction::getCGRecordLayout(CodeGenTypes &CGT, - QualType RTy) { - assert (isa(RTy) - && "Unexpected type. RecordType expected here."); + QualType Ty) { + const RecordType *RTy = Ty->getAsRecordType(); + assert (RTy && "Unexpected type. RecordType expected here."); - const llvm::Type *Ty = ConvertType(RTy); - assert (Ty && "Unable to find llvm::Type"); - - return CGT.getCGRecordLayout(Ty); + return CGT.getCGRecordLayout(RTy->getDecl()); } /// WarnUnsupported - Print out a warning that codegen doesn't support the -- cgit v1.2.3