quakeforge/tools/qfcc/include
Bill Currie 6253d775e6 [qfcc] Adjust ivar offsets to preserve alignment
As a class's ivars are built up by inheritance, but with only that
class's ivars in the symbol table, is is necessary to include an offset
based on the super class's ivars in order to ensure alignments are
respected. This is achieved via the new `base` parameter to
build_struct(), which is used to offset the current size while
calculating the aligned offset of the symbols. The parameter is ignored
for unions, as they always start at 0. The ivars for the current class
still have a base offset of 0 until they are actually added to the
class.

Fixes #29
2022-07-31 17:15:47 +09:00
..
attribute.h [qfcc] Add a very basic attribute system 2022-02-02 23:51:37 +09:00
class.h Fix a pile of warnings for gcc 12 2022-07-31 17:13:26 +09:00
codespace.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
cpp.h Replace system defines/includes with qfcc's 2020-02-19 02:35:09 +09:00
dags.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
debug.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
def.h [qfcc] Create vector component symbols for parameters 2022-02-06 21:20:00 +09:00
defspace.h [qfcc] Support alignment in qfo spaces 2022-07-31 17:15:47 +09:00
diagnostic.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
dot.h Create a function to generalize dot dumping. 2012-11-15 13:44:08 +09:00
emit.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
expr.h [qfcc] Implement support for the swizzle operator 2022-05-01 14:35:24 +09:00
expr_names.h [qfcc] Implement support for the swizzle operator 2022-05-01 14:35:24 +09:00
flow.h [qfcc] Increase flow operand count to 5 2020-03-17 21:24:12 +09:00
function.h Fix a pile of warnings for gcc 12 2022-07-31 17:13:26 +09:00
grab.h Merge branch 'qfcc-cse' 2012-12-13 20:17:28 +09:00
idstuff.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
linker.h Make linker_add_def take a pointer for the value. 2012-11-14 13:12:58 +09:00
Makemodule.am Fix a bunch of distcheck issues 2022-02-14 19:28:19 +09:00
method.h [qfcc] Fix protocol adorned id as message receiver 2020-03-16 10:42:18 +09:00
obj_file.h [qfcc] Support alignment in qfo spaces 2022-07-31 17:15:47 +09:00
obj_type.h [gamecode] Move progs auxiliary headers into a subdirectory 2022-01-09 00:26:52 +09:00
opcodes.h [qfcc] Dump emitted statements when verbosity >= 2 2022-01-20 13:08:05 +09:00
options.h [qfcc] Make the meaning of vec * vec selectable 2022-02-06 21:20:00 +09:00
pragma.h Allow pragmas to have arguments 2020-02-15 23:49:12 +09:00
qfcc.h [gamecode] Clean up progs data access 2022-04-29 16:59:15 +09:00
qfprogs.h Fix qfo strings dumping 2020-02-23 15:08:31 +09:00
reloc.h [qfcc] Support alignment in qfo spaces 2022-07-31 17:15:47 +09:00
shared.h Merge qfpc into qfcc. 2012-10-26 16:01:41 +09:00
statements.h Fix a pile of warnings for gcc 12 2022-07-31 17:13:26 +09:00
strpool.h [qfcc] Add function to see if a string is in a pool 2020-04-03 14:22:44 +09:00
struct.h [qfcc] Adjust ivar offsets to preserve alignment 2022-07-31 17:15:47 +09:00
switch.h Nuke the rcsid stuff. 2012-04-22 10:56:32 +09:00
symtab.h [qfcc] Rework method ivar access 2020-03-05 18:45:47 +09:00
type.h [qfcc] Implement support for the swizzle operator 2022-05-01 14:35:24 +09:00
value.h [qfcc] Implement ulong, long and uint constants 2022-04-29 18:12:47 +09:00
vec_types.h [qfcc] Implement some basics for the vector types 2022-02-04 00:25:31 +09:00