diff options
author | Ash Wolf <ninji@wuffs.org> | 2022-11-20 00:07:22 -0500 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2022-11-20 00:07:22 -0500 |
commit | 9d2728a5605f651934fe67a6fe6986b3e4a2c011 (patch) | |
tree | e81e0a3588a0c8d1855bf28316efe27d86b04d66 /includes/compiler/CodeGen.h | |
parent | 9a46dd0e2e80790d9848c0bbd718932a27c23269 (diff) | |
download | MWCC-9d2728a5605f651934fe67a6fe6986b3e4a2c011.tar.gz MWCC-9d2728a5605f651934fe67a6fe6986b3e4a2c011.zip |
add a bunch of code and a ton of stub files for later
Diffstat (limited to '')
-rw-r--r-- | includes/compiler/CodeGen.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/includes/compiler/CodeGen.h b/includes/compiler/CodeGen.h index 3954d51..fb8ff94 100644 --- a/includes/compiler/CodeGen.h +++ b/includes/compiler/CodeGen.h @@ -11,8 +11,8 @@ extern Macro vecM; extern Macro altivecM; extern Object *gFunction; -extern PCodeLabel *returnlabel; -extern PCodeLabel *cleanreturnlabel; +extern CLabel *returnlabel; +extern CLabel *cleanreturnlabel; extern Boolean needs_cleanup; extern Statement *current_statement; extern int has_catch_blocks; @@ -48,29 +48,29 @@ extern Object *maketemporary(Type *type); typedef void (*ArgumentProcessor)(Object *obj, short reg); extern void process_arguments(ArgumentProcessor func, Boolean flag); extern void move_assigned_argument(Object *obj, short reg); -extern void assign_labels(); -extern void CodeGen_Generator(); -extern void CodeGen_GenVDispatchThunk(); -extern void CodeGen_SetupRuntimeObjects(); +extern void assign_labels(Statement *stmt); +extern void CodeGen_Generator(Statement **statements, Object *func, UInt8 mysteryFlag, Boolean callOnModuleBind); +extern void CodeGen_GenVDispatchThunk(Object *thunkobj, Object *obj, SInt32 a, SInt32 b, SInt32 c); +extern void CodeGen_SetupRuntimeObjects(void); extern Boolean CodeGen_ReInitRuntimeObjects(Boolean is_precompiler); extern Boolean CodeGen_IsPublicRuntimeObject(Object *obj); -extern void CodeGen_SOMStub(); +extern void CodeGen_SOMStub(Object *a, Object *b, Object *c, SInt32 offset); extern void CodeGen_ParseDeclSpec(HashNameNode *identifier, DeclInfo *declinfo); extern void CodeGen_ParsePragma(HashNameNode *name); extern void CodeGen_UpdateObject(Object *object); -extern void CodeGen_UpdateBackEndOptions(); +extern void CodeGen_UpdateBackEndOptions(void); extern void CodeGen_objc_method_self_offset(); extern void CodeGen_objc_method_sel_offset(); extern void CodeGen_objc_method_arg_offset(); extern void CodeGen_objc_method_args_size(); -extern void CodeGen_HandleIntrinsicCall(); -extern void CodeGen_HandleTypeCast(); +extern ENode *CodeGen_HandleIntrinsicCall(Object *func, ENodeList *arg_exprs); +extern ENode *CodeGen_HandleTypeCast(ENode *expr, Type *type, UInt32 qual); extern short CodeGen_AssignCheck(ENode *expr, Type *type, Boolean flag1, Boolean flag2); -extern void CodeGen_CollapseVectorExpression(); -extern void CodeGen_InsertSpecialMacros(); +extern Boolean CodeGen_CollapseVectorExpression(ENode *expr, MWVector128 *vec, Type *type); +extern void CodeGen_InsertSpecialMacros(void); extern char *CodeGen_ExpandSpecialMacro(Macro *macro); -extern void CodeGen_reportheapinfo(); -extern void CodeGen_InitialSanityCheck(); +extern void CodeGen_reportheapinfo(Boolean release_flag, char *name, char *text); +extern void CodeGen_InitialSanityCheck(void); #ifdef __MWERKS__ #pragma options align=reset |