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. | |
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.