Revert r128770, r128771, r128773 and r128776 for now. It breaks debug info.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128842 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGDebugInfo.cpp b/lib/CodeGen/CGDebugInfo.cpp
index 24df2ed..c7a50ef 100644
--- a/lib/CodeGen/CGDebugInfo.cpp
+++ b/lib/CodeGen/CGDebugInfo.cpp
@@ -808,7 +808,7 @@
   for (CXXRecordDecl::base_class_const_iterator BI = RD->bases_begin(),
          BE = RD->bases_end(); BI != BE; ++BI) {
     unsigned BFlags = 0;
-    CharUnits BaseOffset;
+    uint64_t BaseOffset;
     
     const CXXRecordDecl *Base =
       cast<CXXRecordDecl>(BI->getType()->getAs<RecordType>()->getDecl());
@@ -816,11 +816,10 @@
     if (BI->isVirtual()) {
       // virtual base offset offset is -ve. The code generator emits dwarf
       // expression where it expects +ve number.
-      BaseOffset = CharUnits::Zero() - 
-        CGM.getVTables().getVirtualBaseOffsetOffset(RD, Base);
+      BaseOffset = 0 - CGM.getVTables().getVirtualBaseOffsetOffset(RD, Base);
       BFlags = llvm::DIDescriptor::FlagVirtual;
     } else
-      BaseOffset = RL.getBaseClassOffset(Base);
+      BaseOffset = RL.getBaseClassOffsetInBits(Base);
     
     AccessSpecifier Access = BI->getAccessSpecifier();
     if (Access == clang::AS_private)
@@ -831,7 +830,7 @@
     llvm::DIType DTy = 
       DBuilder.createInheritance(RecordTy,                                     
                                  getOrCreateType(BI->getType(), Unit),
-                                 BaseOffset.getQuantity(), BFlags);
+                                 BaseOffset, BFlags);
     EltTys.push_back(DTy);
   }
 }