Represent a memory location that holds a QuakeC/Ruamoko object. More...
Data Fields | |
| unsigned | constant:1 |
| stores constant value More... | |
| struct daglabel_s * | daglabel |
| daglabel for this def More... | |
| unsigned | external:1 |
| externally declared def More... | |
| string_t | file |
| declaring/defining source file More... | |
| struct flowvar_s * | flowvar |
| flowvar for this def More... | |
| void * | free_addr |
| who freed this More... | |
| unsigned | global:1 |
| globally declared def More... | |
| unsigned | initialized:1 |
| the def has been initialized More... | |
| struct expr_s * | initializer |
| initialer expression More... | |
| int | line |
| declaring/defining source line More... | |
| unsigned | local:1 |
| function local def More... | |
| const char * | name |
| the def's name More... | |
| struct def_s * | next |
| general purpose linking More... | |
| unsigned | nosave:1 |
| don't set DEF_SAVEGLOBAL More... | |
| int | offset |
| address of this def in its defspace More... | |
| unsigned | offset_reloc:1 |
| use *_def_ofs relocs More... | |
| unsigned | param:1 |
| function param def More... | |
| int | qfo_def |
| index to def in qfo defs More... | |
| struct reloc_s * | relocs |
| for relocations More... | |
| void * | return_addr |
| who allocated this More... | |
| struct defspace_s * | space |
| defspace to which this def belongs More... | |
| unsigned | system:1 |
| system def More... | |
| struct def_s * | temp_next |
| linked list of "free" temp defs More... | |
| struct type_s * | type |
| QC type of this def. More... | |
Def aliasing. | |
Aliasing a def provides a different view of the def providing access via a different type, or access to members of structs, unions and arrays. Alias defs are very simple: they store only the type and relative offset off the def they alias. All other information is held in the def they alias, including relocation records. However, they do keep track of the source file and line that first created the alias. The relations between a def an any of its aliases are maintained by a linked list headed by def_t::alias_defs and connected by def_t::next. def_t::alias is used to find the main def via one if its aliases. The order of the aliases in the list is arbitrary: it is the reverse of the order in which they were created.
Accessing a vector via its components.
| |
| struct def_s * | alias_defs |
| defs that alias this def More... | |
| struct def_s * | alias |
| real def which this def aliases More... | |
Represent a memory location that holds a QuakeC/Ruamoko object.
The object represented by the def may be of any type (either internally defined by qfcc (float, int, vector, etc) or user defined (structs, arrays etc)).
Unless the def is external (ie, declared to be in another compilation unit), defs are always attached to a defspace. Storage for the def's object is allocated from that space.
| struct def_s* alias |
real def which this def aliases
| struct def_s* alias_defs |
defs that alias this def
| unsigned constant |
stores constant value
| struct daglabel_s* daglabel |
daglabel for this def
| unsigned external |
externally declared def
| string_t file |
declaring/defining source file
| struct flowvar_s* flowvar |
flowvar for this def
| void* free_addr |
who freed this
| unsigned global |
globally declared def
| unsigned initialized |
the def has been initialized
| struct expr_s* initializer |
initialer expression
| int line |
declaring/defining source line
| unsigned local |
function local def
| const char* name |
the def's name
| struct def_s* next |
general purpose linking
| unsigned nosave |
don't set DEF_SAVEGLOBAL
| int offset |
address of this def in its defspace
| unsigned offset_reloc |
use *_def_ofs relocs
| unsigned param |
function param def
| int qfo_def |
index to def in qfo defs
| struct reloc_s* relocs |
for relocations
| void* return_addr |
who allocated this
| struct defspace_s* space |
defspace to which this def belongs
| unsigned system |
system def
| struct def_s* temp_next |
linked list of "free" temp defs
| struct type_s* type |
QC type of this def.