diff options
| author | John McCall <rjmccall@apple.com> | 2010-02-26 00:48:12 +0000 |
|---|---|---|
| committer | John McCall <rjmccall@apple.com> | 2010-02-26 00:48:12 +0000 |
| commit | 2da83a3a386e514c7c6c9fec186e9ee4f9ee7d4a (patch) | |
| tree | 9482f69092af6d71dfe5b98ca6e5ed53d192b1d3 /clang/lib/CodeGen/CGObjCGNU.cpp | |
| parent | 6394521a2b61edce9be689a36e1176102f200490 (diff) | |
| download | bcm5719-llvm-2da83a3a386e514c7c6c9fec186e9ee4f9ee7d4a.tar.gz bcm5719-llvm-2da83a3a386e514c7c6c9fec186e9ee4f9ee7d4a.zip | |
Use the power of types to track down another canonicalization bug in
the ABI-computation interface. Fixes <rdar://problem/7691046>.
llvm-svn: 97197
Diffstat (limited to 'clang/lib/CodeGen/CGObjCGNU.cpp')
| -rw-r--r-- | clang/lib/CodeGen/CGObjCGNU.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGObjCGNU.cpp b/clang/lib/CodeGen/CGObjCGNU.cpp index 1d38ef9e2d2..228054e328d 100644 --- a/clang/lib/CodeGen/CGObjCGNU.cpp +++ b/clang/lib/CodeGen/CGObjCGNU.cpp @@ -56,7 +56,7 @@ private: const llvm::FunctionType *IMPTy; const llvm::PointerType *IdTy; const llvm::PointerType *PtrToIdTy; - QualType ASTIdTy; + CanQualType ASTIdTy; const llvm::IntegerType *IntTy; const llvm::PointerType *PtrTy; const llvm::IntegerType *LongTy; @@ -262,7 +262,7 @@ CGObjCGNU::CGObjCGNU(CodeGen::CodeGenModule &cgm) PtrTy = PtrToInt8Ty; // Object type - ASTIdTy = CGM.getContext().getObjCIdType(); + ASTIdTy = CGM.getContext().getCanonicalType(CGM.getContext().getObjCIdType()); if (QualType() == ASTIdTy) { IdTy = PtrToInt8Ty; } else { @@ -1685,7 +1685,7 @@ llvm::Constant *CGObjCGNU::EnumerationMutationFunction() { CodeGen::CodeGenTypes &Types = CGM.getTypes(); ASTContext &Ctx = CGM.getContext(); // void objc_enumerationMutation (id) - llvm::SmallVector<QualType,16> Params; + llvm::SmallVector<CanQualType,1> Params; Params.push_back(ASTIdTy); const llvm::FunctionType *FTy = Types.GetFunctionType(Types.getFunctionInfo(Ctx.VoidTy, Params, |

