mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 09:21:12 +00:00
4e5cdba646
Most of them are already aligned to their natural boundaries, so lowering the alignment to 1 byte can only worsen things by making the C compiler generate poorer (unaligned access) code for some platforms. The layout of structures is not specified by the C Standard, but is rather given by a particular platform + toolchain's ABI (application binary interface). Most ABIs follow the expected pattern "alignment of scalars is their size, alignment of arrays is that of its element type, alignment of structs is the maximum alignment of its members". A couple of links to particular ABIs are given in build.h. Problems are expected with archs that care about unaligned access when a pointer to a non-packed struct is taken that resides in a packed aggregate, but these uses should be weeded out (I'm not sure if there are any in our codebase). The following types are affected, only hitdata_t changes its size: sectortype, walltype, spritetype, spriteext_t, spritesmooth_t, struct validmode_t, picanm_t, palette_t, vec2_t, vec3_t, hitdata_t. git-svn-id: https://svn.eduke32.com/eduke32@3455 1a8010ca-5511-0410-912e-c29ae57300e0 |
||
---|---|---|
.. | ||
Apple | ||
build | ||
eobj | ||
eobj_win | ||
installer | ||
obj | ||
obj_win | ||
package | ||
psd | ||
rsrc | ||
source | ||
Wii | ||
Windows | ||
ChangeLog | ||
ChangeLog.html | ||
eduke32.sln | ||
eduke32.vcxproj | ||
eduke32.vcxproj.filters | ||
eduke32.vcxproj.user | ||
MakeDistributions | ||
Makefile | ||
Makefile.common | ||
Makefile.deps | ||
Makefile.msvc | ||
osxbuild.sh | ||
wiibuild.bat |