Make MemberExpr code safe w.r.t. address spaces.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@45394 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/CodeGen/CGExpr.cpp b/CodeGen/CGExpr.cpp
index c20680b..4cb897f 100644
--- a/CodeGen/CGExpr.cpp
+++ b/CodeGen/CGExpr.cpp
@@ -424,9 +424,9 @@
     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");
     }
   }