X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fport.h;h=897380323e740ce4d0dc0ee586f74868a3e0e14c;hb=19a1067b34b13a04fb4f084585bf81ae02eb6765;hp=db0eda65796de2a2baf4500b269e5ee6b5df5880;hpb=1e268ec9106bf4b907eff98c705e11689c9dcb64;p=fw%2Fsdcc diff --git a/src/port.h b/src/port.h index db0eda65..89738032 100644 --- a/src/port.h +++ b/src/port.h @@ -63,6 +63,8 @@ typedef struct const char *plain_opts; /* print externs as global */ int externGlobal; + /* assembler file extension */ + const char *file_ext; } assembler; @@ -146,13 +148,10 @@ typedef struct /** One more than the smallest mul/div operation the processor can do nativley Eg if the processor has an 8 bit mul, nativebelow is 2 */ - int native_below; - /** The mul/div/mod functions will be made to use regparams - for sizeof(param) < log2(force_reg) - i.e. Use 2 for WORD and BYTE, 0 for none. */ - int force_reg_param_below; + unsigned muldiv; + unsigned shift; } - muldiv; + support; /** Prefix to add to a C function (eg "_") */ const char *fun_prefix; @@ -199,6 +198,10 @@ typedef struct */ int (*process_pragma) (const char *sz); + /** Mangles a support function name to reflect the calling model. + */ + char *(*getMangledFunctionName) (char *szOrginial); + /** If TRUE, then tprintf and !dw will be used for some initalisers */ bool use_dw_for_init; @@ -211,6 +214,8 @@ typedef struct bool ne_neq; /* transform a != b --> ! (a == b) */ bool eq_nne; /* transform a == b --> ! (a != b) */ + bool arrayInitializerSuppported; + #define PORT_MAGIC 0xAC32 /** Used at runtime to detect if this structure has been completly filled in. */ int magic; @@ -244,4 +249,4 @@ extern PORT i186_port; extern PORT tlcs900h_port; #endif -#endif PORT_INCLUDE +#endif /* PORT_INCLUDE*/