summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGClass.cpp
diff options
context:
space:
mode:
authorAnastasia Stulova <anastasia.stulova@arm.com>2019-03-07 16:23:15 +0000
committerAnastasia Stulova <anastasia.stulova@arm.com>2019-03-07 16:23:15 +0000
commit94049554166ce3243f19c59240074d0000151e38 (patch)
tree3699c1b1a7d875f908b077b447e90b5159051049 /clang/lib/CodeGen/CGClass.cpp
parenteb39991c8b4071211b1f408283bf331a69dacec0 (diff)
downloadbcm5719-llvm-94049554166ce3243f19c59240074d0000151e38.tar.gz
bcm5719-llvm-94049554166ce3243f19c59240074d0000151e38.zip
[PR40778] Preserve addr space in Derived to Base cast.
The address space for the Base class pointer when up-casting from Derived should be taken from the Derived class pointer. Differential Revision: https://reviews.llvm.org/D53818 llvm-svn: 355606
Diffstat (limited to 'clang/lib/CodeGen/CGClass.cpp')
-rw-r--r--clang/lib/CodeGen/CGClass.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGClass.cpp b/clang/lib/CodeGen/CGClass.cpp
index f45b2809855..597d0e9c689 100644
--- a/clang/lib/CodeGen/CGClass.cpp
+++ b/clang/lib/CodeGen/CGClass.cpp
@@ -302,7 +302,8 @@ Address CodeGenFunction::GetAddressOfBaseClass(
// Get the base pointer type.
llvm::Type *BasePtrTy =
- ConvertType((PathEnd[-1])->getType())->getPointerTo();
+ ConvertType((PathEnd[-1])->getType())
+ ->getPointerTo(Value.getType()->getPointerAddressSpace());
QualType DerivedTy = getContext().getRecordType(Derived);
CharUnits DerivedAlign = CGM.getClassPointerAlignment(Derived);
OpenPOWER on IntegriCloud