Re: [PATCH] bisect: save heap memory. allocate only the required amount

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 26/08/14 13:43, Jeff King wrote:
> On Tue, Aug 26, 2014 at 01:37:44PM +0100, Ramsay Jones wrote:
> 
>>> On my 64-bit system using gcc, sizeof() returns 16; it has to pad the
>>> whole thing to 64-bit alignment in case I put two of them in an array.
>>> But offsetof(name) is 12, since the array of char does not need the same
>>> alignment; it can go right after the type and make use of the padding
>>> bits.
>>
>> Hmm, interesting. I must re-read the standard. I was convinced that the
>> standard *requires* any alignment padding to come *before* the name field.
>> (how would you put a, non-trivial, variable data structure into an array?)
> 
> I think you don't. How would you compute a[1] if a[0] has a variable
> size?
> 
> You can put a flex-array structure into an array, but then each element
> has the flex member as zero-size (and you should not access it, of
> course).

Exactly. ;-)

ATB,
Ramsay Jones



--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]