]> granicus.if.org Git - clang/commitdiff
Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout.
authorDevang Patel <dpatel@apple.com>
Mon, 10 Dec 2007 18:25:34 +0000 (18:25 +0000)
committerDevang Patel <dpatel@apple.com>
Mon, 10 Dec 2007 18:25:34 +0000 (18:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44798 91177308-0d34-0410-b5e6-96231b3b80d8

CodeGen/CodeGenTypes.cpp
test/CodeGen/struct.c

index f73c9dfeef69ef208f89567ec23dc07ea7771d9f..f00413c849a57dbe8b6191a9b12216629c55adba 100644 (file)
@@ -459,7 +459,7 @@ void RecordOrganizer::layoutStructFields(const ASTRecordLayout &RL) {
     } else {
       ExtraBits = 0;
       const llvm::Type *Ty = CGT.ConvertType(FD->getType());
-      addLLVMField(Ty, CGT.getTargetData().getTypeSizeInBits(Ty), FD, 0, 0);
+      addLLVMField(Ty, CGT.getTargetData().getABITypeSizeInBits(Ty), FD, 0, 0);
     }
   }
   STy = llvm::StructType::get(LLVMFields);
index 329dfdeb6d436802f37f385119ba8d68409ae7f8..574cec908c859594aa31cad655572d4608ec1695 100644 (file)
@@ -90,3 +90,16 @@ void f8()
 }
 
 
+/* _Bool types */
+
+struct _w
+{
+  short a,b;
+  short c,d;
+  short e,f;
+  short g;
+
+  unsigned int h,i;
+
+  _Bool j,k;
+} ws;