summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2007-12-10 18:25:34 +0000
committerDevang Patel <dpatel@apple.com>2007-12-10 18:25:34 +0000
commitbb5c0d89600fd7903608569720a5fc50ed108f63 (patch)
tree49ec7a40697977202c4ffdec3f06e3c9561b967c
parent256a15d53254d094d5ae66696a5827f3e3d5ed88 (diff)
downloadbcm5719-llvm-bb5c0d89600fd7903608569720a5fc50ed108f63.tar.gz
bcm5719-llvm-bb5c0d89600fd7903608569720a5fc50ed108f63.zip
Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout.
llvm-svn: 44798
-rw-r--r--clang/CodeGen/CodeGenTypes.cpp2
-rw-r--r--clang/test/CodeGen/struct.c13
2 files changed, 14 insertions, 1 deletions
diff --git a/clang/CodeGen/CodeGenTypes.cpp b/clang/CodeGen/CodeGenTypes.cpp
index f73c9dfeef6..f00413c849a 100644
--- a/clang/CodeGen/CodeGenTypes.cpp
+++ b/clang/CodeGen/CodeGenTypes.cpp
@@ -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);
diff --git a/clang/test/CodeGen/struct.c b/clang/test/CodeGen/struct.c
index 329dfdeb6d4..574cec908c8 100644
--- a/clang/test/CodeGen/struct.c
+++ b/clang/test/CodeGen/struct.c
@@ -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;
OpenPOWER on IntegriCloud