QuakeForge  0.7.2.210-815cf
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
function_s Struct Reference

Internal representation of a function. More...

Collaboration diagram for function_s:
[legend]

Data Fields

int builtin
 if non 0, call an internal function More...
 
int code
 first statement More...
 
struct def_sdef
 output def holding function number More...
 
int function_num
 
struct set_sglobal_vars
 set indicating which vars are global More...
 
struct flowgraph_sgraph
 the function's flow graph More...
 
int line_info
 
int local_defs
 
const char * name
 nice name for PRETTY_FUNCTION More...
 
struct function_snext
 
int num_statements
 
int num_vars
 total number of variables referenced More...
 
struct reloc_srefs
 relocation targets for this function More...
 
string_t s_file
 source file with definition More...
 
string_t s_name
 name of function in output More...
 
struct sblock_ssblock
 initial node of function's code More...
 
struct statement_s ** statements
 
struct symbol_ssym
 internal symbol for this function More...
 
struct symtab_ssymtab
 Root scope symbol table of the function. More...
 
struct def_stemp_defs [4]
 freed temp vars (by size) More...
 
int temp_num
 number for next temp var More...
 
struct expr_svar_init
 
struct flowvar_s ** vars
 Array of pointers to all variables referenced by the function's code. More...
 

Detailed Description

Internal representation of a function.

Field Documentation

int builtin

if non 0, call an internal function

int code

first statement

struct def_s* def

output def holding function number

int function_num
struct set_s* global_vars

set indicating which vars are global

struct flowgraph_s* graph

the function's flow graph

int line_info
int local_defs
const char* name

nice name for PRETTY_FUNCTION

struct function_s* next
int num_statements
int num_vars

total number of variables referenced

struct reloc_s* refs

relocation targets for this function

string_t s_file

source file with definition

string_t s_name

name of function in output

struct sblock_s* sblock

initial node of function's code

struct statement_s** statements
struct symbol_s* sym

internal symbol for this function

struct symtab_s* symtab

Root scope symbol table of the function.

Sub-scope symbol tables are not directly accessible, but all defs created in the function's local data space are recorded in the root scope symbol table's defspace.

struct def_s* temp_defs[4]

freed temp vars (by size)

int temp_num

number for next temp var

struct expr_s* var_init
struct flowvar_s** vars

Array of pointers to all variables referenced by the function's code.

This permits ready mapping of (function specific) variable number to variable in the flow analyzer.


The documentation for this struct was generated from the following file: