]> granicus.if.org Git - clang/commitdiff
Fix some typos. WIP. Large alignments don't work yet.
authorMike Stump <mrs@apple.com>
Tue, 22 Sep 2009 02:44:17 +0000 (02:44 +0000)
committerMike Stump <mrs@apple.com>
Tue, 22 Sep 2009 02:44:17 +0000 (02:44 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82512 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDebugInfo.cpp

index 6f5bb15d45448637e81b0eb41d1d50f93f31ed09..0074316b4c200cf646a56881db9581b1015aa112 100644 (file)
@@ -1009,9 +1009,9 @@ void CGDebugInfo::EmitDeclare(const VarDecl *Decl, unsigned Tag,
     unsigned Align = M->getContext().getDeclAlignInBytes(Decl);
     if (Align > M->getContext().Target.getPointerAlign(0) / 8) {
       unsigned AlignedOffsetInBytes
-        = llvm::RoundUpToAlignment(FieldOffset, Align);
+        = llvm::RoundUpToAlignment(FieldOffset/8, Align);
       unsigned NumPaddingBytes
-        = AlignedOffsetInBytes = FieldOffset;
+        = AlignedOffsetInBytes - FieldOffset/8;
 
       if (NumPaddingBytes > 0) {
         llvm::APInt pad(32, NumPaddingBytes);
@@ -1032,7 +1032,7 @@ void CGDebugInfo::EmitDeclare(const VarDecl *Decl, unsigned Tag,
     FType = Type;
     FieldTy = CGDebugInfo::getOrCreateType(FType, Unit);
     FieldSize = M->getContext().getTypeSize(FType);
-    FieldAlign = M->getContext().getTypeAlign(FType);
+    FieldAlign = Align*8;
     std::string Name = Decl->getNameAsString();
     
     FieldTy = DebugFactory.CreateDerivedType(llvm::dwarf::DW_TAG_member, Unit,