From: Devang Patel Date: Mon, 10 Dec 2007 18:25:34 +0000 (+0000) Subject: Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=14c7500b8ca27fba362a98cd5e2441be9016109d;p=clang Use getABITypeSizeInBits() instead of getTypeSizeInBits() during struct layout. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@44798 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/CodeGen/CodeGenTypes.cpp b/CodeGen/CodeGenTypes.cpp index f73c9dfeef..f00413c849 100644 --- a/CodeGen/CodeGenTypes.cpp +++ b/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/test/CodeGen/struct.c b/test/CodeGen/struct.c index 329dfdeb6d..574cec908c 100644 --- a/test/CodeGen/struct.c +++ b/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;