mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-23 04:42:32 +00:00
9ccfe8aefc
The end goal was to fix erroneous non-constant initializer errors for the following (ie, nested initializer blocks): typedef struct { int x; int y; } Point; typedef struct { int width; int height; } Extent; typedef struct Rect_s { Point offset; Extent extent; } Rect; Rect makeRect (int xpos, int ypos, int xlen, int ylen) { Rect rect = {{xpos, ypos}, {xlen, ylen}}; return rect; } However, it turned out that nested initializer blocks for local variables did not work at all in that the relocations were lost because fake defs were being created for the generated instructions. Thus, instead of creating fake defs, simply record the offset relative to the base def, the type, and the basic type initializer expression, then generate instructions that all refer to the correct def but with a relative offset. Other than using the new element system, static initializers are largely unaffected. |
||
---|---|---|
.. | ||
3dfx_stub | ||
bsp2img | ||
build_scripts | ||
carne | ||
cross | ||
cvs2cl | ||
Forge | ||
gas2masm | ||
gl_stub | ||
io_mesh_qfmdl | ||
io_qfmap | ||
misc | ||
pak | ||
qfbsp | ||
qfcc | ||
qflight | ||
qflmp | ||
qfmodelgen | ||
qfspritegen | ||
qfvis | ||
quaketoascii | ||
texpaint | ||
wad | ||
wav | ||
Makefile.am |