[Bug c++/32016] sizeof(class) always a multiple of 4 on 32 bit machine
pinskia at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon May 21 01:39:00 GMT 2007
------- Comment #1 from pinskia at gcc dot gnu dot org 2007-05-21 02:39 -------
> Just to make myself clear, this isn't a data alignment thing.
Actually it is a data alignment issue, the ABI for arm most likely says objects
larger than a certain size are aligned to 32bits. I think you need to read the
ABI for the target you are compiling for before asking questions like this.
Data alignment is not just about holes, it is also about the overall size of
objects and their alignment. In this case, the object is aligned to 32bits.
Note ABIs for different targets say different things about the alignment of
objects, you have to read each one carefully before saying GCC is wrong.
If you want a packed struct that does not have an ABI required alignment, then
use attribute packed.
Can you attach the testcase where the sizeof is different from what you expect
and can you specify exactly which target you are compiling for?
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |WAITING
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32016
More information about the Gcc-bugs
mailing list