summaryrefslogtreecommitdiff
path: root/includes/compiler/CodeGen.h
diff options
context:
space:
mode:
authorAsh Wolf <ninji@wuffs.org>2022-11-20 00:07:22 -0500
committerAsh Wolf <ninji@wuffs.org>2022-11-20 00:07:22 -0500
commit9d2728a5605f651934fe67a6fe6986b3e4a2c011 (patch)
treee81e0a3588a0c8d1855bf28316efe27d86b04d66 /includes/compiler/CodeGen.h
parent9a46dd0e2e80790d9848c0bbd718932a27c23269 (diff)
downloadMWCC-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.h28
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