]> granicus.if.org Git - clang/commitdiff
Fix two bugs in bitfield codegen.
authorLauro Ramos Venancio <lauro.venancio@gmail.com>
Tue, 22 Jan 2008 19:15:30 +0000 (19:15 +0000)
committerLauro Ramos Venancio <lauro.venancio@gmail.com>
Tue, 22 Jan 2008 19:15:30 +0000 (19:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@46255 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CodeGenTypes.cpp

index 583537db9bcd8bb1d69bb03986614c99ae79ff8e..4cced51e2570eac824db9c2a6f8299ca2b5e9368 100644 (file)
@@ -578,8 +578,8 @@ void RecordOrganizer::placeBitField(const FieldDecl *FD) {
        // This is : struct { char a; int CurrentField:10;};
        // where 'CurrentField' shares first field with 'a'.
        addPaddingFields(Cursor + BitFieldSize);
-       CGT.addFieldInfo(FD, i);
-       CGT.addBitFieldInfo(FD, Cursor, BitFieldSize);
+       CGT.addFieldInfo(FD, i - 1);
+       CGT.addBitFieldInfo(FD, Cursor - O, BitFieldSize);
        Cursor += BitFieldSize;
       } else {
        // Place the bitfield in a new LLVM field.