X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Fport.h;h=fa127a4e50f350b69a2280442262f82b4929c5ab;hb=7297eb22b98d2667ddd49f1adf37c6324d683ee7;hp=e44e610b403596f7da37d00506192986259c64f8;hpb=4db4740164fed3cb25145cfdaadb986fc0690507;p=fw%2Fsdcc diff --git a/src/port.h b/src/port.h index e44e610b..fa127a4e 100644 --- a/src/port.h +++ b/src/port.h @@ -92,7 +92,7 @@ typedef struct /* assembler file extension */ const char *file_ext; /** If non-null will be used to execute the assembler. */ - void (*do_assemble) (set *); + void (*do_assemble) (set *); } assembler; @@ -107,7 +107,7 @@ typedef struct void (*do_link) (void); /** Extension for object files (.rel, .obj, ...) */ const char *rel_ext; - /** 1 if port needs the .lnk file, 0 otherwise */ + /** 1 if port needs the .lnk file, 0 otherwise */ const int needLinkerScript; } linker; @@ -169,7 +169,7 @@ typedef struct void (*genExtraAreaLinkOptions)(FILE *); } extraAreas; - + /* stack related information */ struct { @@ -191,8 +191,8 @@ typedef struct struct { - /** One more than the smallest - mul/div operation the processor can do nativley + /** 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 */ unsigned muldiv; unsigned shift; @@ -227,7 +227,7 @@ typedef struct int sizeofDispatch; } jumptableCost; - + /** Prefix to add to a C function (eg "_") */ const char *fun_prefix; @@ -261,30 +261,30 @@ typedef struct /* Write any port specific assembler output. */ void (*genAssemblerPreamble) (FILE * of); - /* invoked at end assembler file */ + /* invoked at end assembler file */ void (*genAssemblerEnd) (FILE * of); /* Write the port specific IVT. If genIVT is NULL or if * it returns zero, default (8051) IVT generation code - * will be used. + * will be used. */ int (*genIVT) (FILE * of, symbol ** intTable, int intCount); void (*genXINIT) (FILE * of); - + /* Write port specific startup code */ void (*genInitStartup) (FILE * of); /* parameter passing in register related functions */ void (*reset_regparms) (void); /* reset the register count */ - int (*reg_parm) (struct sym_link *); /* will return 1 if can be passed in register */ + int (*reg_parm) (struct sym_link *, bool reentrant); /* will return 1 if can be passed in register */ /** Process the pragma string 'sz'. Returns 0 if recognised and processed, 1 otherwise. May be NULL. */ int (*process_pragma) (const char *sz); - /** Mangles a support function name to reflect the calling model. + /** Mangles a support function name to reflect the calling model. */ char *(*getMangledFunctionName) (char *szOrginial); @@ -297,12 +297,12 @@ typedef struct manipulation iCodes (RRC, RLC, SWAP, GETHBIT) */ bool (*hasExtBitOp) (int op, int size); - + /** Returns the relative expense of accessing a particular output storage class. Larger values indicate higher expense. */ int (*oclsExpense) (struct memmap *oclass); - + /** If TRUE, then tprintf and !dw will be used for some initalisers */ bool use_dw_for_init; @@ -320,10 +320,10 @@ typedef struct bool ne_neq; /* transform a != b --> ! (a == b) */ bool eq_nne; /* transform a == b --> ! (a != b) */ - bool arrayInitializerSuppported; + bool arrayInitializerSuppported; bool (*cseOk) (iCode *ic, iCode *pdic); builtins *builtintable; /* table of builtin functions */ - int unqualified_pointer; /* unqualified pointers type is */ + int unqualified_pointer; /* unqualified pointers type is */ int reset_labelKey ; /* reset Label no 1 at the start of a function */ int globals_allowed ; /* global & static locals not allowed ? 0 ONLY TININative*/ #define PORT_MAGIC 0xAC32