summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Lamb <christopher.lamb@gmail.com>2007-12-29 04:06:57 +0000
committerChristopher Lamb <christopher.lamb@gmail.com>2007-12-29 04:06:57 +0000
commitfd9af54ad1a8426732dffc5a9d1fc2bbdbb68f3a (patch)
treee3fe7c8afc5ebfd5592f71c7236c5525d089e9d9
parent7cafd92aa991bad540cc34c24a1a811fbb4ae223 (diff)
downloadbcm5719-llvm-fd9af54ad1a8426732dffc5a9d1fc2bbdbb68f3a.tar.gz
bcm5719-llvm-fd9af54ad1a8426732dffc5a9d1fc2bbdbb68f3a.zip
Make MemberExpr code safe w.r.t. address spaces.
llvm-svn: 45394
-rw-r--r--clang/CodeGen/CGExpr.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/CodeGen/CGExpr.cpp b/clang/CodeGen/CGExpr.cpp
index c20680bc4ea..4cb897fe5d1 100644
--- a/clang/CodeGen/CGExpr.cpp
+++ b/clang/CodeGen/CGExpr.cpp
@@ -424,9 +424,9 @@ LValue CodeGenFunction::EmitMemberExpr(const MemberExpr *E) {
const llvm::PointerType * BaseTy =
cast<llvm::PointerType>(BaseValue->getType());
if (FieldTy != BaseTy->getElementType()) {
- // FIXME: Need to get address space qualification of pointer
+ unsigned AS = BaseTy->getAddressSpace();
V = Builder.CreateBitCast(V,
- llvm::PointerType::getUnqual(FieldTy),
+ llvm::PointerType::get(FieldTy, AS),
"tmp");
}
}
OpenPOWER on IntegriCloud