X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fport.h;h=ef0d45182754487cd1a3f3fdc0e1ff7f9139672a;hb=b1176539b41432fec283cb2d21b77efda04b3780;hp=897380323e740ce4d0dc0ee586f74868a3e0e14c;hpb=5824097756886f8445cd0a4fe3aee106c98b11cd;p=fw%2Fsdcc diff --git a/src/port.h b/src/port.h index 89738032..ef0d4518 100644 --- a/src/port.h +++ b/src/port.h @@ -5,6 +5,8 @@ #ifndef PORT_INCLUDE #define PORT_INCLUDE +#include "SDCCicode.h" + #define TARGET_ID_MCS51 1 #define TARGET_ID_GBZ80 2 #define TARGET_ID_Z80 3 @@ -55,11 +57,13 @@ typedef struct /* assembler related information */ struct { -/** Command to run and arguments (eg as-z80) */ - const char **cmd; -/** Arguments for debug mode. PENDING: ignored */ + /** Command to run and arguments (eg as-z80) */ + const char **cmd; + /** Alternate macro based form. */ + const char *mcmd; + /** Arguments for debug mode. */ const char *debug_opts; -/** Arguments for normal assembly mode. PENDING: ignored */ + /** Arguments for normal assembly mode. */ const char *plain_opts; /* print externs as global */ int externGlobal; @@ -71,11 +75,13 @@ typedef struct /* linker related info */ struct { -/** Command to run (eg link-z80) */ + /** Command to run (eg link-z80) */ const char **cmd; -/** If non-null will be used to execute the link. */ + /** Alternate macro based form. */ + const char *mcmd; + /** If non-null will be used to execute the link. */ void (*do_link) (void); -/** Extention for object files (.rel, .obj, ...) */ + /** Extention for object files (.rel, .obj, ...) */ const char *rel_ext; } linker; @@ -202,6 +208,11 @@ typedef struct */ char *(*getMangledFunctionName) (char *szOrginial); + /** Returns true if the port can multiply the two types nativly + without using support functions. + */ + bool (*hasNativeMulFor) (iCode *ic, sym_link *left, sym_link *right); + /** If TRUE, then tprintf and !dw will be used for some initalisers */ bool use_dw_for_init;