FTEQW
Documentation of the FTE engine source tree.
qcc.h File Reference

Go to the source code of this file.

Classes

union  QCC_eval_basic_s
 
union  QCC_eval_s
 
struct  QCC_typeparam_s
 
struct  accessor_s
 
struct  QCC_type_s
 
struct  QCC_def_s
 
struct  temp_s
 
struct  QCC_ref_t
 
struct  QCC_function_s
 
struct  QCC_pr_info_t
 
struct  CompilerConstant_t
 
struct  optimisations_t
 
struct  compiler_flag_t
 
struct  precache_t
 
struct  qcc_includechunk_s
 
struct  qcc_cachedsourcefile_s
 
struct  packfile_t
 
struct  packheader_t
 

Typedefs

typedef unsigned int gofs_t
 
typedef struct QCC_function_s QCC_function_t
 
typedef union QCC_eval_basic_s QCC_eval_basic_t
 
typedef union QCC_eval_s QCC_eval_t
 
typedef struct QCC_type_s QCC_type_t
 
typedef struct temp_s temp_t
 
typedef struct QCC_def_s QCC_def_t
 
typedef char PATHSTRING[MAX_DATA_PATH]
 
typedef struct qcc_includechunk_s qcc_includechunk_t
 
typedef struct qcc_cachedsourcefile_s qcc_cachedsourcefile_t
 
typedef struct qcc_cachedsourcefile_s vfile_t
 

Enumerations

enum  qcc_targetformat_t {
  QCF_STANDARD , QCF_HEXEN2 , QCF_UHEXEN2 , QCF_DARKPLACES ,
  QCF_QSS , QCF_FTE , QCF_FTEDEBUG , QCF_FTEH2 ,
  QCF_KK7 , QCF_QTEST
}
 
enum  token_type_t { tt_eof , tt_name , tt_punct , tt_immediate }
 
enum  {
  WARN_DEBUGGING , WARN_ERROR , WARN_REMOVEDWARNING , WARN_WRITTENNOTREAD ,
  WARN_READNOTWRITTEN , WARN_NOTREFERENCED , WARN_NOTREFERENCEDCONST , WARN_NOTREFERENCEDFIELD ,
  WARN_CONFLICTINGRETURNS , WARN_TOOFEWPARAMS , WARN_TOOMANYPARAMS , WARN_UNEXPECTEDPUNCT ,
  WARN_UNINITIALIZED , WARN_DENORMAL , WARN_STRINGOFFSET , WARN_OVERFLOW ,
  WARN_ASSIGNMENTTOCONSTANT , WARN_ASSIGNMENTTOCONSTANTFUNC , WARN_MISSINGRETURNVALUE , WARN_WRONGRETURNTYPE ,
  WARN_CORRECTEDRETURNTYPE , WARN_POINTLESSSTATEMENT , WARN_MISSINGRETURN , WARN_DUPLICATEDEFINITION ,
  WARN_UNDEFNOTDEFINED , WARN_PRECOMPILERMESSAGE , WARN_TOOMANYPARAMETERSFORFUNC , WARN_TOOMANYPARAMETERSVARARGS ,
  WARN_NESTEDCOMMENT , WARN_STRINGTOOLONG , WARN_BADTARGET , WARN_BADPRAGMA ,
  WARN_NOTUTF8 , WARN_HANGINGSLASHR , WARN_MEMBERNOTDEFINED , WARN_NOTCONSTANT ,
  WARN_SWITCHTYPEMISMATCH , WARN_CONFLICTINGUNIONMEMBER , WARN_KEYWORDDISABLED , WARN_ENUMFLAGS_NOTINTEGER ,
  WARN_ENUMFLAGS_NOTBINARY , WARN_CASEINSENSITIVEFRAMEMACRO , WARN_STALEMACRO , WARN_DUPLICATEMACRO ,
  WARN_DUPLICATELABEL , WARN_ASSIGNMENTINCONDITIONAL , WARN_MACROINSTRING , WARN_BADPARAMS ,
  WARN_IMPLICITCONVERSION , WARN_EXTRAPRECACHE , WARN_NOTPRECACHED , WARN_NONPORTABLEFILENAME ,
  WARN_DEADCODE , WARN_UNREACHABLECODE , WARN_NOTSTANDARDBEHAVIOUR , WARN_DUPLICATEPRECOMPILER ,
  WARN_IDENTICALPRECOMPILER , WARN_FORMATSTRING , WARN_DEPRECACTEDSYNTAX , WARN_DEPRECATEDVARIABLE ,
  WARN_MUTEDEPRECATEDVARIABLE , WARN_GMQCC_SPECIFIC , WARN_FTE_SPECIFIC , WARN_EXTENSION_USED ,
  WARN_IFSTRING_USED , WARN_IFVECTOR_DISABLED , WARN_LAXCAST , WARN_TYPEMISMATCHREDECOPTIONAL ,
  WARN_UNDESIRABLECONVENTION , WARN_SAMENAMEASGLOBAL , WARN_CONSTANTCOMPARISON , WARN_DIVISIONBY0 ,
  WARN_UNSAFEFUNCTIONRETURNTYPE , WARN_MISSINGOPTIONAL , WARN_SYSTEMCRC , WARN_SYSTEMCRC2 ,
  WARN_CONDITIONALTYPEMISMATCH , WARN_MISSINGMEMBERQUALIFIER , WARN_SELFNOTTHIS , WARN_EVILPREPROCESSOR ,
  WARN_UNARYNOTSCOPE , WARN_STRICTTYPEMISMATCH , WARN_MISUSEDAUTOCVAR , WARN_IGNORECOMMANDLINE ,
  WARN_POINTERASSIGNMENT , WARN_COMPATIBILITYHACK , WARN_REDECLARATIONMISMATCH , WARN_PARAMWITHNONAME ,
  WARN_ARGUMENTCHECK , WARN_IGNOREDKEYWORD , ERR_PARSEERRORS , ERR_INTERNAL ,
  ERR_TOOCOMPLEX , ERR_BADOPCODE , ERR_TOOMANYSTATEMENTS , ERR_TOOMANYSTRINGS ,
  ERR_BADTARGETSWITCH , ERR_TOOMANYTYPES , ERR_TOOMANYPAKFILES , ERR_PRECOMPILERCONSTANTTOOLONG ,
  ERR_MACROTOOMANYPARMS , ERR_TOOMANYFRAMEMACROS , ERR_TOOMANYGLOBALS , ERR_TOOMANYGOTOS ,
  ERR_TOOMANYBREAKS , ERR_TOOMANYCONTINUES , ERR_TOOMANYCASES , ERR_TOOMANYLABELS ,
  ERR_TOOMANYOPENFILES , ERR_TOOMANYTOTALPARAMETERS , ERR_BADEXTENSION , ERR_BADIMMEDIATETYPE ,
  ERR_NOOUTPUT , ERR_NOTAFUNCTION , ERR_FUNCTIONWITHVARGS , ERR_BADHEX ,
  ERR_UNKNOWNPUCTUATION , ERR_EXPECTED , ERR_NOTANAME , ERR_NAMETOOLONG ,
  ERR_NOFUNC , ERR_COULDNTOPENFILE , ERR_NOTFUNCTIONTYPE , ERR_TOOFEWPARAMS ,
  ERR_TOOMANYPARAMS , ERR_CONSTANTNOTDEFINED , ERR_BADFRAMEMACRO , ERR_TYPEMISMATCH ,
  ERR_TYPEMISMATCHREDEC , ERR_TYPEMISMATCHPARM , ERR_TYPEMISMATCHARRAYSIZE , ERR_UNEXPECTEDPUNCTUATION ,
  ERR_NOTACONSTANT , ERR_REDECLARATION , ERR_INITIALISEDLOCALFUNCTION , ERR_NOTDEFINED ,
  ERR_ARRAYNEEDSSIZE , ERR_ARRAYNEEDSBRACES , ERR_TOOMANYINITIALISERS , ERR_TYPEINVALIDINSTRUCT ,
  ERR_NOSHAREDLOCALS , ERR_TYPEWITHNONAME , ERR_BADARRAYSIZE , ERR_NONAME ,
  ERR_SHAREDINITIALISED , ERR_UNKNOWNVALUE , ERR_BADARRAYINDEXTYPE , ERR_NOVALIDOPCODES ,
  ERR_MEMBERNOTVALID , ERR_BADPLUSPLUSOPERATOR , ERR_BADNOTTYPE , ERR_BADTYPECAST ,
  ERR_BADMEMBER , ERR_MULTIPLEDEFAULTS , ERR_CASENOTIMMEDIATE , ERR_BADSWITCHTYPE ,
  ERR_BADLABELNAME , ERR_NOLABEL , ERR_THINKTIMETYPEMISMATCH , ERR_STATETYPEMISMATCH ,
  ERR_BADBUILTINIMMEDIATE , ERR_BADPARAMORDER , ERR_ILLEGALCONTINUES , ERR_ILLEGALBREAKS ,
  ERR_ILLEGALCASES , ERR_NOTANUMBER , ERR_WRONGSUBTYPE , ERR_EOF ,
  ERR_NOPRECOMPILERIF , ERR_NOENDIF , ERR_HASHERROR , ERR_NOTATYPE ,
  ERR_TOOMANYPACKFILES , ERR_INVALIDVECTORIMMEDIATE , ERR_INVALIDSTRINGIMMEDIATE , ERR_BADCHARACTERCODE ,
  ERR_BADPARMS , ERR_WERROR , WARN_MAX
}
 
enum  {
  COL_NONE , COL_ERROR , COL_WARNING , COL_LOCATION ,
  COL_NAME , COL_SYMBOL , COL_TYPE , COL_MAX
}
 
enum  pkgtype_e { PACKAGER_PAK , PACKAGER_PK3 , PACKAGER_PK3_SPANNED }
 

Functions

voidqccHunkAlloc (size_t mem)
 
void qccClearHunk (void)
 
void QCC_OPCodeSetTarget (qcc_targetformat_t targfmt, unsigned int targver)
 
pbool QCC_OPCodeSetTargetName (const char *targ)
 
int typecmp (QCC_type_t *a, QCC_type_t *b)
 
int typecmp_lax (QCC_type_t *a, QCC_type_t *b)
 
QCC_type_tQCC_PR_DuplicateType (QCC_type_t *in, pbool recurse)
 
void QCC_PurgeTemps (void)
 
void QCC_FinaliseTemps (void)
 
char * QCC_PR_GetDefinesList (void)
 
pbool CompileParams (progfuncs_t *progfuncs, void(*cb)(void), int nump, const char **parms)
 
pbool QCC_RegisterSourceFile (const char *filename)
 
void QCC_PR_PrintStatement (QCC_statement_t *s)
 
void QCC_PR_Lex (void)
 
QCC_type_tQCC_PR_NewType (const char *name, int basictype, pbool typedefed)
 
QCC_type_tQCC_PointerTypeTo (QCC_type_t *type)
 
QCC_type_tQCC_PR_ParseType (int newtype, pbool silentfail)
 
QCC_sref_t QCC_PR_ParseDefaultInitialiser (QCC_type_t *type)
 
QCC_type_tQCC_TypeForName (const char *name)
 
QCC_type_tQCC_PR_ParseFunctionType (int newtype, QCC_type_t *returntype)
 
QCC_type_tQCC_PR_ParseFunctionTypeReacc (int newtype, QCC_type_t *returntype)
 
QCC_type_tQCC_PR_GenFunctionType (QCC_type_t *rettype, struct QCC_typeparam_s *args, int numargs)
 
char * QCC_PR_ParseName (void)
 
struct QCC_typeparam_sQCC_PR_FindStructMember (QCC_type_t *t, const char *membername, unsigned int *out_ofs)
 
QCC_type_tQCC_PR_PointerType (QCC_type_t *pointsto)
 
const char * QCC_VarAtOffset (QCC_sref_t ref)
 
void QCC_PrioritiseOpcodes (void)
 
int QCC_PR_IntConstExpr (void)
 
pbool QCC_PR_CheckImmediate (const char *string)
 
pbool QCC_PR_CheckToken (const char *string)
 
pbool QCC_PR_PeekToken (const char *string)
 
pbool QCC_PR_CheckName (const char *string)
 
void QCC_PR_Expect (const char *string)
 
pbool QCC_PR_CheckKeyword (int keywordenabled, const char *string)
 
pbool QCC_PR_CheckTokenComment (const char *string, char **comment)
 
NORETURN void VARGS QCC_PR_ParseError (int errortype, const char *error,...)
 
pbool VARGS QCC_PR_ParseWarning (int warningtype, const char *error,...)
 
pbool VARGS QCC_PR_Warning (int type, const char *file, int line, const char *error,...)
 
void VARGS QCC_PR_Note (int type, const char *file, int line, const char *error,...)
 
void QCC_PR_ParsePrintDef (int warningtype, QCC_def_t *def)
 
void QCC_PR_ParsePrintSRef (int warningtype, QCC_sref_t sref)
 
NORETURN void VARGS QCC_PR_ParseErrorPrintDef (int errortype, QCC_def_t *def, const char *error,...)
 
NORETURN void VARGS QCC_PR_ParseErrorPrintSRef (int errortype, QCC_sref_t sref, const char *error,...)
 
QCC_type_tQCC_PR_MakeThiscall (QCC_type_t *orig, QCC_type_t *thistype)
 
int QCC_WarningForName (const char *name)
 
char * QCC_NameForWarning (int idx)
 
voidQCC_PR_Malloc (int size)
 
void QCC_PR_NewLine (pbool incomment)
 
QCC_def_tQCC_PR_GetDef (QCC_type_t *type, const char *name, struct QCC_function_s *scope, pbool allocate, int arraysize, unsigned int flags)
 
QCC_sref_t QCC_PR_GetSRef (QCC_type_t *type, const char *name, struct QCC_function_s *scope, pbool allocate, int arraysize, unsigned int flags)
 
void QCC_FreeTemp (QCC_sref_t t)
 
void QCC_FreeDef (QCC_def_t *def)
 
char * QCC_PR_CheckCompConstTooltip (char *word, char *outstart, char *outend)
 
void QCC_PR_PrintDefs (void)
 
void QCC_PR_SkipToSemicolon (void)
 
char * QCC_PR_ValueString (etype_t type, void *val)
 
void QCC_PR_ClearGrabMacros (pbool newfile)
 
void QCC_ImportProgs (const char *filename)
 
pbool QCC_PR_CompileFile (char *string, char *filename)
 
void QCC_PR_ResetErrorScope (void)
 
void QCC_PR_EmitArrayGetFunction (QCC_def_t *defscope, QCC_def_t *thearray, char *arrayname)
 
void QCC_PR_EmitArraySetFunction (QCC_def_t *defscope, QCC_def_t *thearray, char *arrayname)
 
void QCC_PR_EmitClassFromFunction (QCC_def_t *defscope, QCC_type_t *basetype)
 
void QCC_PR_ParseDefs (const char *classname, pbool fatal)
 
QCC_def_tQCC_PR_DummyDef (QCC_type_t *type, const char *name, QCC_function_t *scope, int arraysize, QCC_def_t *rootsymbol, unsigned int ofs, int referable, unsigned int flags)
 
void QCC_PR_ParseInitializerDef (QCC_def_t *def, unsigned int flags)
 
void QCC_PR_FinaliseFunctions (void)
 
pbool QCC_main (int argc, const char **argv)
 
void QCC_ContinueCompile (void)
 
void PostCompile (void)
 
pbool PreCompile (void)
 
void QCC_Cleanup (void)
 
int QCC_CopyString (const char *str)
 
int QCC_CopyStringLength (const char *str, size_t length)
 
int WriteSourceFiles (qcc_cachedsourcefile_t *filelist, int h, pbool sourceaswell, pbool legacyembed)
 
pbool Packager_CompressDir (const char *dirname, enum pkgtype_e type, void(*messagecallback)(void *userctx, const char *message,...), void *userctx)
 
struct pkgctx_s * Packager_Create (void(*messagecallback)(void *userctx, const char *message,...), void *userctx)
 
void Packager_ParseFile (struct pkgctx_s *ctx, char *scriptfilename)
 
void Packager_ParseText (struct pkgctx_s *ctx, char *scripttext)
 
void Packager_WriteDataset (struct pkgctx_s *ctx, char *setname)
 
void Packager_Destroy (struct pkgctx_s *ctx)
 
CompilerConstant_tQCC_PR_DefineName (const char *name)
 
void editbadfile (const char *fname, int line)
 
char * TypeName (QCC_type_t *type, char *buffer, int buffersize)
 
void QCC_PR_AddIncludePath (const char *newinc)
 
void QCC_PR_IncludeChunk (char *data, pbool duplicate, char *filename)
 
void QCC_PR_CloseProcessor (void)
 
void QCC_FindBestInclude (char *newfile, char *currentfile, pbool verbose)
 
pbool QCC_PR_UnInclude (void)
 
void QCC_CloseAllVFiles (void)
 
vfile_tQCC_FindVFile (const char *name)
 
vfile_tQCC_AddVFile (const char *name, void *data, size_t size)
 
void QCC_CatVFile (vfile_t *, const char *fmt,...)
 
void QCC_InsertVFile (vfile_t *, size_t pos, const char *fmt,...)
 
char * ReadProgsCopyright (char *buf, size_t bufsize)
 

Variables

progfuncs_tqccprogfuncs
 
short(* PRBigShort )(short l)
 
short(* PRLittleShort )(short l)
 
int(* PRBigLong )(int l)
 
int(* PRLittleLong )(int l)
 
float(* PRBigFloat )(float l)
 
float(* PRLittleFloat )(float l)
 
unsigned int MAX_REGS
 
unsigned int MAX_LOCALS
 
unsigned int MAX_TEMPS
 
int MAX_STRINGS
 
int MAX_GLOBALS
 
int MAX_FIELDS
 
int MAX_STATEMENTS
 
int MAX_FUNCTIONS
 
int MAX_CONSTANTS
 
qcc_targetformat_t qcc_targetformat
 
unsigned int qcc_targetversion
 
hashtable_t compconstantstable
 
hashtable_t globalstable
 
hashtable_t localstable
 
hashtable_t typedeftable
 
FILE * asmfile
 
pbool asmfilebegun
 
size_t tempsused
 
char QCC_copyright [1024]
 
char QCC_Packname [5][128]
 
int QCC_packid
 
const unsigned int type_size []
 
QCC_type_ttype_void
 
QCC_type_ttype_string
 
QCC_type_ttype_float
 
QCC_type_ttype_double
 
QCC_type_ttype_vector
 
QCC_type_ttype_entity
 
QCC_type_ttype_field
 
QCC_type_ttype_function
 
QCC_type_ttype_floatfunction
 
QCC_type_ttype_pointer
 
QCC_type_ttype_floatpointer
 
QCC_type_ttype_intpointer
 
QCC_type_ttype_bint
 
QCC_type_ttype_bfloat
 
QCC_type_ttype_integer
 
QCC_type_ttype_uint
 
QCC_type_ttype_int64
 
QCC_type_ttype_uint64
 
QCC_type_ttype_invalid
 
QCC_type_ttype_variant
 
QCC_type_ttype_floatfield
 
char * basictypenames []
 
QCC_pr_info_t pr
 
pbool pr_dumpasm
 
pbool preprocessonly
 
char * pr_token_precomment
 
char pr_token [8192]
 
token_type_t pr_token_type
 
int pr_token_line
 
int pr_token_line_last
 
QCC_type_tpr_immediate_type
 
QCC_eval_t pr_immediate
 
int verbose
 
pbool keyword_asm
 
pbool keyword_break
 
pbool keyword_case
 
pbool keyword_class
 
pbool keyword_accessor
 
pbool keyword_const
 
pbool keyword_inout
 
pbool keyword_optional
 
pbool keyword_continue
 
pbool keyword_default
 
pbool keyword_do
 
pbool keyword_entity
 
pbool keyword_float
 
pbool keyword_double
 
pbool keyword_for
 
pbool keyword_goto
 
pbool keyword_char
 
pbool keyword_byte
 
pbool keyword_short
 
pbool keyword_int
 
pbool keyword_integer
 
pbool keyword_long
 
pbool keyword_signed
 
pbool keyword_unsigned
 
pbool keyword_state
 
pbool keyword_string
 
pbool keyword_struct
 
pbool keyword_switch
 
pbool keyword_thinktime
 
pbool keyword_loop
 
pbool keyword_until
 
pbool keyword_var
 
pbool keyword_vector
 
pbool keyword_union
 
pbool keyword_enum
 
pbool keyword_enumflags
 
pbool keyword_typedef
 
pbool keyword_extern
 
pbool keyword_shared
 
pbool keyword_noref
 
pbool keyword_nosave
 
pbool keyword_inline
 
pbool keyword_strip
 
pbool keyword_wrap
 
pbool keyword_weak
 
pbool keyword_accumulate
 
pbool keyword_using
 
pbool keyword_unused
 
pbool keyword_used
 
pbool keyword_static
 
pbool keyword_nonstatic
 
pbool keyword_ignore
 
pbool keywords_coexist
 
pbool output_parms
 
pbool autoprototype
 
pbool autoprototyped
 
pbool parseonly
 
pbool pr_subscopedlocals
 
pbool flag_nullemptystr
 
pbool flag_ifstring
 
pbool flag_brokenifstring
 
pbool flag_iffloat
 
pbool flag_ifvector
 
pbool flag_vectorlogic
 
pbool flag_acc
 
pbool flag_caseinsensitive
 
pbool flag_laxcasts
 
pbool flag_hashonly
 
pbool flag_macroinstrings
 
pbool flag_fasttrackarrays
 
pbool flag_assume_integer
 
pbool flag_assume_double
 
pbool flag_msvcstyle
 
pbool flag_debugmacros
 
pbool flag_filetimes
 
pbool flag_typeexplicit
 
pbool flag_boundchecks
 
pbool flag_brokenarrays
 
pbool flag_rootconstructor
 
pbool flag_guiannotate
 
pbool flag_qccx
 
pbool flag_attributes
 
pbool flag_assumevar
 
pbool flag_dblstarexp
 
pbool flag_allowuninit
 
pbool flag_cpriority
 
pbool flag_qcfuncs
 
pbool flag_embedsrc
 
pbool flag_nopragmafileline
 
pbool flag_utf8strings
 
pbool opt_overlaptemps
 
pbool opt_shortenifnots
 
pbool opt_noduplicatestrings
 
pbool opt_constantarithmatic
 
pbool opt_nonvec_parms
 
pbool opt_constant_names
 
pbool opt_precache_file
 
pbool opt_filenames
 
pbool opt_assignments
 
pbool opt_unreferenced
 
pbool opt_function_names
 
pbool opt_locals
 
pbool opt_dupconstdefs
 
pbool opt_constant_names_strings
 
pbool opt_return_only
 
pbool opt_compound_jumps
 
pbool opt_stripfunctions
 
pbool opt_locals_overlapping
 
pbool opt_logicops
 
pbool opt_vectorcalls
 
pbool opt_classfields
 
int optres_shortenifnots
 
int optres_overlaptemps
 
int optres_noduplicatestrings
 
int optres_constantarithmatic
 
int optres_nonvec_parms
 
int optres_constant_names
 
int optres_precache_file
 
int optres_filenames
 
int optres_assignments
 
int optres_unreferenced
 
int optres_function_names
 
int optres_locals
 
int optres_dupconstdefs
 
int optres_constant_names_strings
 
int optres_return_only
 
int optres_compound_jumps
 
int optres_stripfunctions
 
int optres_locals_overlapping
 
int optres_logicops
 
int optres_inlines
 
pbool type_inlinefunction
 
const char * qcccol [COL_MAX]
 
optimisations_t optimisations []
 
compiler_flag_t compiler_flag []
 
unsigned char qccwarningaction [WARN_MAX]
 
jmp_buf pr_parse_abort
 
const char * s_filen
 
QCC_string_t s_filed
 
int pr_source_line
 
char * pr_file_p
 
struct QCC_function_spr_scope
 
int pr_error_count
 
int pr_warning_count
 
char * pr_parm_argcount_name
 
char pr_parm_names [MAX_PARMS+MAX_EXTRA_PARMS][MAX_NAME]
 
QCC_sref_t extra_parms [MAX_EXTRA_PARMS]
 
QCC_def_t def_ret
 
QCC_def_t def_parms [MAX_PARMS]
 
char pr_immediate_string [8192]
 
size_t pr_immediate_strlen
 
QCC_eval_basic_tqcc_pr_globals
 
unsigned int numpr_globals
 
char * strings
 
int strofs
 
QCC_statement_tstatements
 
int numstatements
 
QCC_function_tfunctions
 
dfunction_tdfunctions
 
int numfunctions
 
QCC_ddef_t * qcc_globals
 
int numglobaldefs
 
QCC_def_tactivetemps
 
QCC_ddef_t * fields
 
int numfielddefs
 
QCC_type_tqcc_typeinfo
 
int numtypeinfos
 
int maxtypeinfos
 
int ForcedCRC
 
float qcc_framerate
 
pbool defaultnoref
 
pbool defaultnosave
 
pbool defaultstatic
 
intqcc_tempofs
 
int max_temps
 
int tempsstart
 
int numtemps
 
char compilingrootfile []
 
precache_tprecache_sound
 
int numsounds
 
precache_tprecache_texture
 
int numtextures
 
precache_tprecache_model
 
int nummodels
 
precache_tprecache_file
 
int numfiles
 
qcc_includechunk_tcurrentchunk
 
qcc_cachedsourcefile_tqcc_sourcefile
 
void *(* pHash_Get )(hashtable_t *table, const char *name)
 
void *(* pHash_GetNext )(hashtable_t *table, const char *name, void *old)
 
void *(* pHash_Add )(hashtable_t *table, const char *name, void *data, bucket_t *)
 
void(* pHash_RemoveData )(hashtable_t *table, const char *name, void *data)
 

Typedef Documentation

◆ gofs_t

typedef unsigned int gofs_t

◆ PATHSTRING

typedef char PATHSTRING[MAX_DATA_PATH]

◆ qcc_cachedsourcefile_t

◆ QCC_def_t

typedef struct QCC_def_s QCC_def_t

◆ QCC_eval_basic_t

◆ QCC_eval_t

typedef union QCC_eval_s QCC_eval_t

◆ QCC_function_t

◆ qcc_includechunk_t

◆ QCC_type_t

typedef struct QCC_type_s QCC_type_t

◆ temp_t

typedef struct temp_s temp_t

◆ vfile_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WARN_DEBUGGING 
WARN_ERROR 
WARN_REMOVEDWARNING 
WARN_WRITTENNOTREAD 
WARN_READNOTWRITTEN 
WARN_NOTREFERENCED 
WARN_NOTREFERENCEDCONST 
WARN_NOTREFERENCEDFIELD 
WARN_CONFLICTINGRETURNS 
WARN_TOOFEWPARAMS 
WARN_TOOMANYPARAMS 
WARN_UNEXPECTEDPUNCT 
WARN_UNINITIALIZED 
WARN_DENORMAL 
WARN_STRINGOFFSET 
WARN_OVERFLOW 
WARN_ASSIGNMENTTOCONSTANT 
WARN_ASSIGNMENTTOCONSTANTFUNC 
WARN_MISSINGRETURNVALUE 
WARN_WRONGRETURNTYPE 
WARN_CORRECTEDRETURNTYPE 
WARN_POINTLESSSTATEMENT 
WARN_MISSINGRETURN 
WARN_DUPLICATEDEFINITION 
WARN_UNDEFNOTDEFINED 
WARN_PRECOMPILERMESSAGE 
WARN_TOOMANYPARAMETERSFORFUNC 
WARN_TOOMANYPARAMETERSVARARGS 
WARN_NESTEDCOMMENT 
WARN_STRINGTOOLONG 
WARN_BADTARGET 
WARN_BADPRAGMA 
WARN_NOTUTF8 
WARN_HANGINGSLASHR 
WARN_MEMBERNOTDEFINED 
WARN_NOTCONSTANT 
WARN_SWITCHTYPEMISMATCH 
WARN_CONFLICTINGUNIONMEMBER 
WARN_KEYWORDDISABLED 
WARN_ENUMFLAGS_NOTINTEGER 
WARN_ENUMFLAGS_NOTBINARY 
WARN_CASEINSENSITIVEFRAMEMACRO 
WARN_STALEMACRO 
WARN_DUPLICATEMACRO 
WARN_DUPLICATELABEL 
WARN_ASSIGNMENTINCONDITIONAL 
WARN_MACROINSTRING 
WARN_BADPARAMS 
WARN_IMPLICITCONVERSION 
WARN_EXTRAPRECACHE 
WARN_NOTPRECACHED 
WARN_NONPORTABLEFILENAME 
WARN_DEADCODE 
WARN_UNREACHABLECODE 
WARN_NOTSTANDARDBEHAVIOUR 
WARN_DUPLICATEPRECOMPILER 
WARN_IDENTICALPRECOMPILER 
WARN_FORMATSTRING 
WARN_DEPRECACTEDSYNTAX 
WARN_DEPRECATEDVARIABLE 
WARN_MUTEDEPRECATEDVARIABLE 
WARN_GMQCC_SPECIFIC 
WARN_FTE_SPECIFIC 
WARN_EXTENSION_USED 
WARN_IFSTRING_USED 
WARN_IFVECTOR_DISABLED 
WARN_LAXCAST 
WARN_TYPEMISMATCHREDECOPTIONAL 
WARN_UNDESIRABLECONVENTION 
WARN_SAMENAMEASGLOBAL 
WARN_CONSTANTCOMPARISON 
WARN_DIVISIONBY0 
WARN_UNSAFEFUNCTIONRETURNTYPE 
WARN_MISSINGOPTIONAL 
WARN_SYSTEMCRC 
WARN_SYSTEMCRC2 
WARN_CONDITIONALTYPEMISMATCH 
WARN_MISSINGMEMBERQUALIFIER 
WARN_SELFNOTTHIS 
WARN_EVILPREPROCESSOR 
WARN_UNARYNOTSCOPE 
WARN_STRICTTYPEMISMATCH 

foo & bar the ! applies to the result of &. This is unlike C.

WARN_MISUSEDAUTOCVAR 
WARN_IGNORECOMMANDLINE 
WARN_POINTERASSIGNMENT 
WARN_COMPATIBILITYHACK 
WARN_REDECLARATIONMISMATCH 
WARN_PARAMWITHNONAME 
WARN_ARGUMENTCHECK 
WARN_IGNOREDKEYWORD 
ERR_PARSEERRORS 
ERR_INTERNAL 
ERR_TOOCOMPLEX 
ERR_BADOPCODE 
ERR_TOOMANYSTATEMENTS 
ERR_TOOMANYSTRINGS 
ERR_BADTARGETSWITCH 
ERR_TOOMANYTYPES 
ERR_TOOMANYPAKFILES 
ERR_PRECOMPILERCONSTANTTOOLONG 
ERR_MACROTOOMANYPARMS 
ERR_TOOMANYFRAMEMACROS 
ERR_TOOMANYGLOBALS 
ERR_TOOMANYGOTOS 
ERR_TOOMANYBREAKS 
ERR_TOOMANYCONTINUES 
ERR_TOOMANYCASES 
ERR_TOOMANYLABELS 
ERR_TOOMANYOPENFILES 
ERR_TOOMANYTOTALPARAMETERS 
ERR_BADEXTENSION 
ERR_BADIMMEDIATETYPE 
ERR_NOOUTPUT 
ERR_NOTAFUNCTION 
ERR_FUNCTIONWITHVARGS 
ERR_BADHEX 
ERR_UNKNOWNPUCTUATION 
ERR_EXPECTED 
ERR_NOTANAME 
ERR_NAMETOOLONG 
ERR_NOFUNC 
ERR_COULDNTOPENFILE 
ERR_NOTFUNCTIONTYPE 
ERR_TOOFEWPARAMS 
ERR_TOOMANYPARAMS 
ERR_CONSTANTNOTDEFINED 
ERR_BADFRAMEMACRO 
ERR_TYPEMISMATCH 
ERR_TYPEMISMATCHREDEC 
ERR_TYPEMISMATCHPARM 
ERR_TYPEMISMATCHARRAYSIZE 
ERR_UNEXPECTEDPUNCTUATION 
ERR_NOTACONSTANT 
ERR_REDECLARATION 
ERR_INITIALISEDLOCALFUNCTION 
ERR_NOTDEFINED 
ERR_ARRAYNEEDSSIZE 
ERR_ARRAYNEEDSBRACES 
ERR_TOOMANYINITIALISERS 
ERR_TYPEINVALIDINSTRUCT 
ERR_NOSHAREDLOCALS 
ERR_TYPEWITHNONAME 
ERR_BADARRAYSIZE 
ERR_NONAME 
ERR_SHAREDINITIALISED 
ERR_UNKNOWNVALUE 
ERR_BADARRAYINDEXTYPE 
ERR_NOVALIDOPCODES 
ERR_MEMBERNOTVALID 
ERR_BADPLUSPLUSOPERATOR 
ERR_BADNOTTYPE 
ERR_BADTYPECAST 
ERR_BADMEMBER 
ERR_MULTIPLEDEFAULTS 
ERR_CASENOTIMMEDIATE 
ERR_BADSWITCHTYPE 
ERR_BADLABELNAME 
ERR_NOLABEL 
ERR_THINKTIMETYPEMISMATCH 
ERR_STATETYPEMISMATCH 
ERR_BADBUILTINIMMEDIATE 
ERR_BADPARAMORDER 
ERR_ILLEGALCONTINUES 
ERR_ILLEGALBREAKS 
ERR_ILLEGALCASES 
ERR_NOTANUMBER 
ERR_WRONGSUBTYPE 
ERR_EOF 
ERR_NOPRECOMPILERIF 
ERR_NOENDIF 
ERR_HASHERROR 
ERR_NOTATYPE 
ERR_TOOMANYPACKFILES 
ERR_INVALIDVECTORIMMEDIATE 
ERR_INVALIDSTRINGIMMEDIATE 
ERR_BADCHARACTERCODE 
ERR_BADPARMS 
ERR_WERROR 
WARN_MAX 

◆ anonymous enum

anonymous enum
Enumerator
COL_NONE 
COL_ERROR 
COL_WARNING 
COL_LOCATION 
COL_NAME 
COL_SYMBOL 
COL_TYPE 
COL_MAX 

◆ pkgtype_e

enum pkgtype_e
Enumerator
PACKAGER_PAK 
PACKAGER_PK3 
PACKAGER_PK3_SPANNED 

◆ qcc_targetformat_t

Enumerator
QCF_STANDARD 
QCF_HEXEN2 
QCF_UHEXEN2 
QCF_DARKPLACES 
QCF_QSS 
QCF_FTE 
QCF_FTEDEBUG 
QCF_FTEH2 
QCF_KK7 
QCF_QTEST 

◆ token_type_t

Enumerator
tt_eof 
tt_name 
tt_punct 
tt_immediate 

Function Documentation

◆ CompileParams()

pbool CompileParams ( progfuncs_t progfuncs,
void(*)(void cb,
int  nump,
const char **  parms 
)

◆ editbadfile()

void editbadfile ( const char *  fname,
int  line 
)

◆ Packager_CompressDir()

pbool Packager_CompressDir ( const char *  dirname,
enum pkgtype_e  type,
void(*)(void *userctx, const char *message,...)  messagecallback,
void userctx 
)

◆ Packager_Create()

struct pkgctx_s * Packager_Create ( void(*)(void *userctx, const char *message,...)  messagecallback,
void userctx 
)

◆ Packager_Destroy()

void Packager_Destroy ( struct pkgctx_s *  ctx)

◆ Packager_ParseFile()

void Packager_ParseFile ( struct pkgctx_s *  ctx,
char *  scriptfilename 
)

◆ Packager_ParseText()

void Packager_ParseText ( struct pkgctx_s *  ctx,
char *  scripttext 
)

◆ Packager_WriteDataset()

void Packager_WriteDataset ( struct pkgctx_s *  ctx,
char *  setname 
)

◆ PostCompile()

void PostCompile ( void  )

◆ PreCompile()

pbool PreCompile ( void  )

◆ QCC_AddVFile()

vfile_t * QCC_AddVFile ( const char *  name,
void data,
size_t  size 
)

◆ QCC_CatVFile()

void QCC_CatVFile ( vfile_t f,
const char *  fmt,
  ... 
)

◆ QCC_Cleanup()

void QCC_Cleanup ( void  )

◆ QCC_CloseAllVFiles()

void QCC_CloseAllVFiles ( void  )

◆ QCC_ContinueCompile()

void QCC_ContinueCompile ( void  )

◆ QCC_CopyString()

int QCC_CopyString ( const char *  str)

◆ QCC_CopyStringLength()

int QCC_CopyStringLength ( const char *  str,
size_t  length 
)

◆ QCC_FinaliseTemps()

void QCC_FinaliseTemps ( void  )

◆ QCC_FindBestInclude()

void QCC_FindBestInclude ( char *  newfile,
char *  currentfile,
pbool  verbose 
)

◆ QCC_FindVFile()

vfile_t * QCC_FindVFile ( const char *  name)

◆ QCC_FreeDef()

void QCC_FreeDef ( QCC_def_t def)

◆ QCC_FreeTemp()

void QCC_FreeTemp ( QCC_sref_t  t)

◆ QCC_ImportProgs()

void QCC_ImportProgs ( const char *  filename)

◆ QCC_InsertVFile()

void QCC_InsertVFile ( vfile_t f,
size_t  pos,
const char *  fmt,
  ... 
)

◆ QCC_main()

pbool QCC_main ( int  argc,
const char **  argv 
)

◆ QCC_NameForWarning()

char * QCC_NameForWarning ( int  idx)

◆ QCC_OPCodeSetTarget()

void QCC_OPCodeSetTarget ( qcc_targetformat_t  targfmt,
unsigned int  targver 
)

◆ QCC_OPCodeSetTargetName()

pbool QCC_OPCodeSetTargetName ( const char *  targ)

◆ QCC_PointerTypeTo()

QCC_type_t * QCC_PointerTypeTo ( QCC_type_t type)

◆ QCC_PR_AddIncludePath()

void QCC_PR_AddIncludePath ( const char *  newinc)

◆ QCC_PR_CheckCompConstTooltip()

char * QCC_PR_CheckCompConstTooltip ( char *  word,
char *  outstart,
char *  outend 
)

◆ QCC_PR_CheckImmediate()

pbool QCC_PR_CheckImmediate ( const char *  string)

◆ QCC_PR_CheckKeyword()

pbool QCC_PR_CheckKeyword ( int  keywordenabled,
const char *  string 
)

◆ QCC_PR_CheckName()

pbool QCC_PR_CheckName ( const char *  string)

◆ QCC_PR_CheckToken()

pbool QCC_PR_CheckToken ( const char *  string)

◆ QCC_PR_CheckTokenComment()

pbool QCC_PR_CheckTokenComment ( const char *  string,
char **  comment 
)

◆ QCC_PR_ClearGrabMacros()

void QCC_PR_ClearGrabMacros ( pbool  newfile)

◆ QCC_PR_CloseProcessor()

void QCC_PR_CloseProcessor ( void  )

◆ QCC_PR_CompileFile()

pbool QCC_PR_CompileFile ( char *  string,
char *  filename 
)

◆ QCC_PR_DefineName()

CompilerConstant_t * QCC_PR_DefineName ( const char *  name)

◆ QCC_PR_DummyDef()

QCC_def_t * QCC_PR_DummyDef ( QCC_type_t type,
const char *  name,
QCC_function_t scope,
int  arraysize,
QCC_def_t rootsymbol,
unsigned int  ofs,
int  referable,
unsigned int  flags 
)

◆ QCC_PR_DuplicateType()

QCC_type_t * QCC_PR_DuplicateType ( QCC_type_t in,
pbool  recurse 
)

◆ QCC_PR_EmitArrayGetFunction()

void QCC_PR_EmitArrayGetFunction ( QCC_def_t defscope,
QCC_def_t thearray,
char *  arrayname 
)

◆ QCC_PR_EmitArraySetFunction()

void QCC_PR_EmitArraySetFunction ( QCC_def_t defscope,
QCC_def_t thearray,
char *  arrayname 
)

◆ QCC_PR_EmitClassFromFunction()

void QCC_PR_EmitClassFromFunction ( QCC_def_t defscope,
QCC_type_t basetype 
)

◆ QCC_PR_Expect()

static void QCC_PR_Expect ( const char *  string)
inline

◆ QCC_PR_FinaliseFunctions()

void QCC_PR_FinaliseFunctions ( void  )

◆ QCC_PR_FindStructMember()

struct QCC_typeparam_s * QCC_PR_FindStructMember ( QCC_type_t t,
const char *  membername,
unsigned int out_ofs 
)

◆ QCC_PR_GenFunctionType()

QCC_type_t * QCC_PR_GenFunctionType ( QCC_type_t rettype,
struct QCC_typeparam_s args,
int  numargs 
)

◆ QCC_PR_GetDef()

QCC_def_t * QCC_PR_GetDef ( QCC_type_t type,
const char *  name,
struct QCC_function_s scope,
pbool  allocate,
int  arraysize,
unsigned int  flags 
)

◆ QCC_PR_GetDefinesList()

char * QCC_PR_GetDefinesList ( void  )

◆ QCC_PR_GetSRef()

QCC_sref_t QCC_PR_GetSRef ( QCC_type_t type,
const char *  name,
struct QCC_function_s scope,
pbool  allocate,
int  arraysize,
unsigned int  flags 
)

◆ QCC_PR_IncludeChunk()

void QCC_PR_IncludeChunk ( char *  data,
pbool  duplicate,
char *  filename 
)

◆ QCC_PR_IntConstExpr()

int QCC_PR_IntConstExpr ( void  )

◆ QCC_PR_Lex()

void QCC_PR_Lex ( void  )

flag_qccx &&

◆ QCC_PR_MakeThiscall()

QCC_type_t * QCC_PR_MakeThiscall ( QCC_type_t orig,
QCC_type_t thistype 
)

◆ QCC_PR_Malloc()

void * QCC_PR_Malloc ( int  size)

◆ QCC_PR_NewLine()

void QCC_PR_NewLine ( pbool  incomment)

◆ QCC_PR_NewType()

QCC_type_t * QCC_PR_NewType ( const char *  name,
int  basictype,
pbool  typedefed 
)

◆ QCC_PR_Note()

void VARGS QCC_PR_Note ( int  type,
const char *  file,
int  line,
const char *  error,
  ... 
)

◆ QCC_PR_ParseDefaultInitialiser()

QCC_sref_t QCC_PR_ParseDefaultInitialiser ( QCC_type_t type)

◆ QCC_PR_ParseDefs()

void QCC_PR_ParseDefs ( const char *  classname,
pbool  fatal 
)

◆ QCC_PR_ParseError()

NORETURN void VARGS QCC_PR_ParseError ( int  errortype,
const char *  error,
  ... 
)

◆ QCC_PR_ParseErrorPrintDef()

NORETURN void VARGS QCC_PR_ParseErrorPrintDef ( int  errortype,
QCC_def_t def,
const char *  error,
  ... 
)

◆ QCC_PR_ParseErrorPrintSRef()

NORETURN void VARGS QCC_PR_ParseErrorPrintSRef ( int  errortype,
QCC_sref_t  sref,
const char *  error,
  ... 
)

◆ QCC_PR_ParseFunctionType()

QCC_type_t * QCC_PR_ParseFunctionType ( int  newtype,
QCC_type_t returntype 
)

◆ QCC_PR_ParseFunctionTypeReacc()

QCC_type_t * QCC_PR_ParseFunctionTypeReacc ( int  newtype,
QCC_type_t returntype 
)

◆ QCC_PR_ParseInitializerDef()

void QCC_PR_ParseInitializerDef ( QCC_def_t def,
unsigned int  flags 
)

◆ QCC_PR_ParseName()

char * QCC_PR_ParseName ( void  )

◆ QCC_PR_ParsePrintDef()

void QCC_PR_ParsePrintDef ( int  warningtype,
QCC_def_t def 
)

◆ QCC_PR_ParsePrintSRef()

void QCC_PR_ParsePrintSRef ( int  warningtype,
QCC_sref_t  sref 
)

◆ QCC_PR_ParseType()

QCC_type_t * QCC_PR_ParseType ( int  newtype,
pbool  silentfail 
)

◆ QCC_PR_ParseWarning()

pbool VARGS QCC_PR_ParseWarning ( int  warningtype,
const char *  error,
  ... 
)

◆ QCC_PR_PeekToken()

pbool QCC_PR_PeekToken ( const char *  string)

◆ QCC_PR_PointerType()

QCC_type_t * QCC_PR_PointerType ( QCC_type_t pointsto)

◆ QCC_PR_PrintDefs()

void QCC_PR_PrintDefs ( void  )

◆ QCC_PR_PrintStatement()

void QCC_PR_PrintStatement ( QCC_statement_t s)

◆ QCC_PR_ResetErrorScope()

void QCC_PR_ResetErrorScope ( void  )

◆ QCC_PR_SkipToSemicolon()

void QCC_PR_SkipToSemicolon ( void  )

◆ QCC_PR_UnInclude()

pbool QCC_PR_UnInclude ( void  )

◆ QCC_PR_ValueString()

char * QCC_PR_ValueString ( etype_t  type,
void val 
)

◆ QCC_PR_Warning()

pbool VARGS QCC_PR_Warning ( int  type,
const char *  file,
int  line,
const char *  error,
  ... 
)

◆ QCC_PrioritiseOpcodes()

void QCC_PrioritiseOpcodes ( void  )

◆ QCC_PurgeTemps()

void QCC_PurgeTemps ( void  )

◆ QCC_RegisterSourceFile()

pbool QCC_RegisterSourceFile ( const char *  filename)

◆ QCC_TypeForName()

QCC_type_t * QCC_TypeForName ( const char *  name)

◆ QCC_VarAtOffset()

const char * QCC_VarAtOffset ( QCC_sref_t  ref)

◆ QCC_WarningForName()

int QCC_WarningForName ( const char *  name)

◆ qccClearHunk()

void qccClearHunk ( void  )

◆ qccHunkAlloc()

void * qccHunkAlloc ( size_t  mem)

◆ ReadProgsCopyright()

char * ReadProgsCopyright ( char *  buf,
size_t  bufsize 
)

◆ typecmp()

int typecmp ( QCC_type_t a,
QCC_type_t b 
)

◆ typecmp_lax()

int typecmp_lax ( QCC_type_t a,
QCC_type_t b 
)

◆ TypeName()

char * TypeName ( QCC_type_t type,
char *  buffer,
int  buffersize 
)

◆ WriteSourceFiles()

int WriteSourceFiles ( qcc_cachedsourcefile_t filelist,
int  h,
pbool  sourceaswell,
pbool  legacyembed 
)

Variable Documentation

◆ activetemps

QCC_def_t* activetemps
extern

◆ asmfile

FILE* asmfile
extern

◆ asmfilebegun

pbool asmfilebegun
extern

◆ autoprototype

pbool autoprototype
extern

◆ autoprototyped

pbool autoprototyped

◆ basictypenames

char* basictypenames[]
extern

◆ compconstantstable

hashtable_t compconstantstable
extern

◆ compiler_flag

compiler_flag_t compiler_flag[]
extern

◆ compilingrootfile

char compilingrootfile[]
extern

◆ currentchunk

qcc_includechunk_t* currentchunk
extern

◆ def_parms

QCC_def_t def_parms[MAX_PARMS]

◆ def_ret

QCC_def_t def_ret
extern

◆ defaultnoref

pbool defaultnoref
extern

◆ defaultnosave

pbool defaultnosave
extern

◆ defaultstatic

pbool defaultstatic
extern

◆ dfunctions

dfunction_t* dfunctions
extern

◆ extra_parms

QCC_sref_t extra_parms[MAX_EXTRA_PARMS]
extern

◆ fields

QCC_ddef_t* fields
extern

◆ flag_acc

pbool flag_acc
extern

◆ flag_allowuninit

pbool flag_allowuninit
extern

◆ flag_assume_double

pbool flag_assume_double
extern

◆ flag_assume_integer

pbool flag_assume_integer
extern

◆ flag_assumevar

pbool flag_assumevar
extern

◆ flag_attributes

pbool flag_attributes
extern

◆ flag_boundchecks

pbool flag_boundchecks
extern

◆ flag_brokenarrays

pbool flag_brokenarrays
extern

◆ flag_brokenifstring

pbool flag_brokenifstring

◆ flag_caseinsensitive

pbool flag_caseinsensitive
extern

◆ flag_cpriority

pbool flag_cpriority
extern

◆ flag_dblstarexp

pbool flag_dblstarexp
extern

◆ flag_debugmacros

pbool flag_debugmacros
extern

◆ flag_embedsrc

pbool flag_embedsrc
extern

◆ flag_fasttrackarrays

pbool flag_fasttrackarrays
extern

◆ flag_filetimes

pbool flag_filetimes
extern

◆ flag_guiannotate

pbool flag_guiannotate
extern

◆ flag_hashonly

pbool flag_hashonly
extern

◆ flag_iffloat

pbool flag_iffloat

◆ flag_ifstring

pbool flag_ifstring

◆ flag_ifvector

pbool flag_ifvector

◆ flag_laxcasts

pbool flag_laxcasts
extern

◆ flag_macroinstrings

pbool flag_macroinstrings
extern

◆ flag_msvcstyle

pbool flag_msvcstyle
extern

◆ flag_nopragmafileline

pbool flag_nopragmafileline
extern

◆ flag_nullemptystr

pbool flag_nullemptystr
extern

◆ flag_qccx

pbool flag_qccx
extern

◆ flag_qcfuncs

pbool flag_qcfuncs
extern

◆ flag_rootconstructor

pbool flag_rootconstructor
extern

◆ flag_typeexplicit

pbool flag_typeexplicit
extern

◆ flag_utf8strings

pbool flag_utf8strings
extern

◆ flag_vectorlogic

pbool flag_vectorlogic

◆ ForcedCRC

int ForcedCRC
extern

◆ functions

QCC_function_t* functions
extern

◆ globalstable

hashtable_t globalstable
extern

◆ keyword_accessor

pbool keyword_accessor
extern

◆ keyword_accumulate

pbool keyword_accumulate
extern

◆ keyword_asm

pbool keyword_asm
extern

◆ keyword_break

pbool keyword_break
extern

◆ keyword_byte

pbool keyword_byte
extern

◆ keyword_case

pbool keyword_case
extern

◆ keyword_char

pbool keyword_char
extern

◆ keyword_class

pbool keyword_class
extern

◆ keyword_const

pbool keyword_const
extern

◆ keyword_continue

pbool keyword_continue
extern

◆ keyword_default

pbool keyword_default
extern

◆ keyword_do

pbool keyword_do
extern

◆ keyword_double

pbool keyword_double
extern

◆ keyword_entity

pbool keyword_entity
extern

◆ keyword_enum

pbool keyword_enum
extern

◆ keyword_enumflags

pbool keyword_enumflags
extern

◆ keyword_extern

pbool keyword_extern
extern

◆ keyword_float

pbool keyword_float
extern

◆ keyword_for

pbool keyword_for
extern

◆ keyword_goto

pbool keyword_goto
extern

◆ keyword_ignore

pbool keyword_ignore
extern

◆ keyword_inline

pbool keyword_inline
extern

◆ keyword_inout

pbool keyword_inout
extern

◆ keyword_int

pbool keyword_int
extern

◆ keyword_integer

pbool keyword_integer
extern

◆ keyword_long

pbool keyword_long
extern

◆ keyword_loop

pbool keyword_loop
extern

◆ keyword_nonstatic

pbool keyword_nonstatic
extern

◆ keyword_noref

pbool keyword_noref
extern

◆ keyword_nosave

pbool keyword_nosave
extern

◆ keyword_optional

pbool keyword_optional
extern

◆ keyword_shared

pbool keyword_shared
extern

◆ keyword_short

pbool keyword_short
extern

◆ keyword_signed

pbool keyword_signed
extern

◆ keyword_state

pbool keyword_state
extern

◆ keyword_static

pbool keyword_static
extern

◆ keyword_string

pbool keyword_string
extern

◆ keyword_strip

pbool keyword_strip
extern

◆ keyword_struct

pbool keyword_struct
extern

◆ keyword_switch

pbool keyword_switch
extern

◆ keyword_thinktime

pbool keyword_thinktime
extern

◆ keyword_typedef

pbool keyword_typedef
extern

◆ keyword_union

pbool keyword_union
extern

◆ keyword_unsigned

pbool keyword_unsigned
extern

◆ keyword_until

pbool keyword_until
extern

◆ keyword_unused

pbool keyword_unused
extern

◆ keyword_used

pbool keyword_used
extern

◆ keyword_using

pbool keyword_using
extern

◆ keyword_var

pbool keyword_var
extern

◆ keyword_vector

pbool keyword_vector
extern

◆ keyword_weak

pbool keyword_weak
extern

◆ keyword_wrap

pbool keyword_wrap
extern

◆ keywords_coexist

pbool keywords_coexist
extern

◆ localstable

hashtable_t localstable

◆ MAX_CONSTANTS

int MAX_CONSTANTS
extern

◆ MAX_FIELDS

int MAX_FIELDS
extern

◆ MAX_FUNCTIONS

int MAX_FUNCTIONS
extern

◆ MAX_GLOBALS

int MAX_GLOBALS
extern

◆ MAX_LOCALS

unsigned int MAX_LOCALS
extern

◆ MAX_REGS

unsigned int MAX_REGS
extern

◆ MAX_STATEMENTS

int MAX_STATEMENTS
extern

◆ MAX_STRINGS

int MAX_STRINGS
extern

◆ MAX_TEMPS

unsigned int MAX_TEMPS
extern

◆ max_temps

int max_temps
extern

◆ maxtypeinfos

int maxtypeinfos
extern

◆ numfielddefs

int numfielddefs
extern

◆ numfiles

int numfiles
extern

◆ numfunctions

int numfunctions
extern

◆ numglobaldefs

int numglobaldefs
extern

◆ nummodels

int nummodels
extern

◆ numpr_globals

unsigned int numpr_globals
extern

◆ numsounds

int numsounds
extern

◆ numstatements

int numstatements
extern

◆ numtemps

int numtemps
extern

◆ numtextures

int numtextures
extern

◆ numtypeinfos

int numtypeinfos
extern

◆ opt_assignments

pbool opt_assignments
extern

◆ opt_classfields

pbool opt_classfields
extern

◆ opt_compound_jumps

pbool opt_compound_jumps
extern

◆ opt_constant_names

pbool opt_constant_names
extern

◆ opt_constant_names_strings

pbool opt_constant_names_strings
extern

◆ opt_constantarithmatic

pbool opt_constantarithmatic
extern

◆ opt_dupconstdefs

pbool opt_dupconstdefs
extern

◆ opt_filenames

pbool opt_filenames
extern

◆ opt_function_names

pbool opt_function_names
extern

◆ opt_locals

pbool opt_locals
extern

◆ opt_locals_overlapping

pbool opt_locals_overlapping
extern

◆ opt_logicops

pbool opt_logicops
extern

◆ opt_noduplicatestrings

pbool opt_noduplicatestrings
extern

◆ opt_nonvec_parms

pbool opt_nonvec_parms
extern

◆ opt_overlaptemps

pbool opt_overlaptemps
extern

◆ opt_precache_file

pbool opt_precache_file
extern

◆ opt_return_only

pbool opt_return_only
extern

◆ opt_shortenifnots

pbool opt_shortenifnots
extern

◆ opt_stripfunctions

pbool opt_stripfunctions
extern

◆ opt_unreferenced

pbool opt_unreferenced
extern

◆ opt_vectorcalls

pbool opt_vectorcalls
extern

◆ optimisations

optimisations_t optimisations[]
extern

◆ optres_assignments

int optres_assignments
extern

◆ optres_compound_jumps

int optres_compound_jumps
extern

◆ optres_constant_names

int optres_constant_names
extern

◆ optres_constant_names_strings

int optres_constant_names_strings
extern

◆ optres_constantarithmatic

int optres_constantarithmatic
extern

◆ optres_dupconstdefs

int optres_dupconstdefs
extern

◆ optres_filenames

int optres_filenames
extern

◆ optres_function_names

int optres_function_names
extern

◆ optres_inlines

int optres_inlines
extern

◆ optres_locals

int optres_locals
extern

◆ optres_locals_overlapping

int optres_locals_overlapping
extern

◆ optres_logicops

int optres_logicops
extern

◆ optres_noduplicatestrings

int optres_noduplicatestrings
extern

◆ optres_nonvec_parms

int optres_nonvec_parms
extern

◆ optres_overlaptemps

int optres_overlaptemps
extern

◆ optres_precache_file

int optres_precache_file
extern

◆ optres_return_only

int optres_return_only
extern

◆ optres_shortenifnots

int optres_shortenifnots
extern

◆ optres_stripfunctions

int optres_stripfunctions
extern

◆ optres_unreferenced

int optres_unreferenced
extern

◆ output_parms

pbool output_parms
extern

◆ parseonly

pbool parseonly

◆ pHash_Add

void *(* pHash_Add) (hashtable_t *table, const char *name, void *data, bucket_t *) ( hashtable_t table,
const char *  name,
void data,
bucket_t  
)
extern

◆ pHash_Get

void *(* pHash_Get) (hashtable_t *table, const char *name) ( hashtable_t table,
const char *  name 
)
extern

◆ pHash_GetNext

void *(* pHash_GetNext) (hashtable_t *table, const char *name, void *old) ( hashtable_t table,
const char *  name,
void old 
)
extern

◆ pHash_RemoveData

void(* pHash_RemoveData) (hashtable_t *table, const char *name, void *data) ( hashtable_t table,
const char *  name,
void data 
)
extern

◆ pr

QCC_pr_info_t pr
extern

◆ pr_dumpasm

pbool pr_dumpasm
extern

◆ pr_error_count

int pr_error_count
extern

◆ pr_file_p

char* pr_file_p
extern

◆ pr_immediate

QCC_eval_t pr_immediate
extern

◆ pr_immediate_string

char pr_immediate_string[8192]
extern

◆ pr_immediate_strlen

size_t pr_immediate_strlen
extern

◆ pr_immediate_type

QCC_type_t* pr_immediate_type
extern

◆ pr_parm_argcount_name

char* pr_parm_argcount_name
extern

◆ pr_parm_names

char pr_parm_names
extern

◆ pr_parse_abort

jmp_buf pr_parse_abort
extern

◆ pr_scope

struct QCC_function_s* pr_scope
extern

◆ pr_source_line

int pr_source_line
extern

◆ pr_subscopedlocals

pbool pr_subscopedlocals
extern

◆ pr_token

char pr_token[8192]
extern

◆ pr_token_line

int pr_token_line
extern

◆ pr_token_line_last

int pr_token_line_last
extern

◆ pr_token_precomment

char* pr_token_precomment
extern

◆ pr_token_type

token_type_t pr_token_type
extern

◆ pr_warning_count

int pr_warning_count

◆ PRBigFloat

float(* PRBigFloat) (float l) ( float  l)
extern

◆ PRBigLong

int(* PRBigLong) (int l) ( int  l)
extern

◆ PRBigShort

short(* PRBigShort) (short l) ( short  l)
extern

◆ precache_file

precache_t* precache_file
extern

◆ precache_model

precache_t* precache_model
extern

◆ precache_sound

precache_t* precache_sound
extern

◆ precache_texture

precache_t* precache_texture
extern

◆ preprocessonly

pbool preprocessonly
extern

◆ PRLittleFloat

float(* PRLittleFloat) (float l) ( float  l)
extern

◆ PRLittleLong

int(* PRLittleLong) (int l) ( int  l)
extern

◆ PRLittleShort

short(* PRLittleShort) (short l) ( short  l)
extern

◆ QCC_copyright

char QCC_copyright[1024]
extern

◆ qcc_framerate

float qcc_framerate
extern

◆ qcc_globals

QCC_ddef_t* qcc_globals
extern

◆ QCC_packid

int QCC_packid
extern

◆ QCC_Packname

char QCC_Packname[5][128]
extern

◆ qcc_pr_globals

QCC_eval_basic_t* qcc_pr_globals
extern

◆ qcc_sourcefile

qcc_cachedsourcefile_t* qcc_sourcefile
extern

◆ qcc_targetformat

qcc_targetformat_t qcc_targetformat
extern

◆ qcc_targetversion

unsigned int qcc_targetversion
extern

◆ qcc_tempofs

int* qcc_tempofs
extern

◆ qcc_typeinfo

QCC_type_t* qcc_typeinfo
extern

◆ qcccol

const char* qcccol[COL_MAX]
extern

◆ qccprogfuncs

progfuncs_t* qccprogfuncs
extern

◆ qccwarningaction

unsigned char qccwarningaction[WARN_MAX]
extern

◆ s_filed

QCC_string_t s_filed
extern

◆ s_filen

const char* s_filen
extern

◆ statements

QCC_statement_t* statements
extern

◆ strings

char* strings
extern

◆ strofs

int strofs
extern

◆ tempsstart

int tempsstart
extern

◆ tempsused

size_t tempsused
extern

◆ type_bfloat

QCC_type_t * type_bfloat

◆ type_bint

QCC_type_t * type_bint

◆ type_double

QCC_type_t * type_double

◆ type_entity

QCC_type_t * type_entity

◆ type_field

QCC_type_t * type_field

◆ type_float

QCC_type_t * type_float

◆ type_floatfield

QCC_type_t * type_floatfield

◆ type_floatfunction

QCC_type_t * type_floatfunction

◆ type_floatpointer

QCC_type_t * type_floatpointer

◆ type_function

QCC_type_t * type_function

◆ type_inlinefunction

pbool type_inlinefunction
extern

◆ type_int64

QCC_type_t * type_int64

◆ type_integer

QCC_type_t * type_integer

◆ type_intpointer

QCC_type_t * type_intpointer

◆ type_invalid

QCC_type_t * type_invalid

◆ type_pointer

QCC_type_t * type_pointer

◆ type_size

const unsigned int type_size[]
extern

◆ type_string

QCC_type_t * type_string

◆ type_uint

QCC_type_t * type_uint

◆ type_uint64

QCC_type_t * type_uint64

◆ type_variant

QCC_type_t * type_variant

◆ type_vector

QCC_type_t * type_vector

◆ type_void

QCC_type_t* type_void
extern

◆ typedeftable

hashtable_t typedeftable

◆ verbose

int verbose
extern