[cfe-dev] sizeof (RopeRefCountString)

Zhongxing Xu xuzhongxing at gmail.com
Mon Sep 15 18:35:46 PDT 2008


2008/9/16 Ted Kremenek <kremenek at apple.com>

>
> On Sep 7, 2008, at 1:32 AM, Zhongxing Xu wrote:
>
>  Hi,
>>
>> In RewriteRope.cpp, RewriteRope::MakeRopeString(const char *Start, const
>> char *End),
>> we calculate the AllocSize by:
>>
>> unsigned AllocSize = sizeof(RopeRefCountString) - 1 + AllocChunkSize;
>>
>> I guess here the intention is: sizeof(RopeRefCountString) is 5. But gcc
>> says sizeof(RopeRefCountString) is 8. So the actual AllocSize is 4087.
>> Should we minus 4 instead of 1 to make the AllocSize 4084?
>>
>
> The "-1" I believe is to accommodate for the field Data[1], which occupies
> a single byte:
>

In practice it occupies 4 bytes because of tail padding.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080916/bb734161/attachment.html>


More information about the cfe-dev mailing list