*** empty log message ***
[fw/sdcc] / src / port.h
index 88f764ad54706a724ba06a201c638635ef18b42a..672a701b3b89e86f36b791adaa83166564554101 100644 (file)
@@ -28,6 +28,7 @@
 #define TARGET_IS_PIC   (port->id==TARGET_ID_PIC)
 #define TARGET_IS_I186 (port->id==TARGET_ID_I186)
 #define TARGET_IS_TCLS900H (port->id==TARGET_ID_TCLS900H)
+#define TARGET_IS_XA51 (port->id==TARGET_ID_XA51)
 
 #define MAX_BUILTIN_ARGS       16
 /* definition of builtin functions */
@@ -79,6 +80,8 @@ typedef struct
        int externGlobal;
        /* assembler file extension */
        const char *file_ext;
+        /** If non-null will be used to execute the assembler. */
+       void (*do_assemble) (const char * const*);      
       }
     assembler;
 
@@ -199,6 +202,8 @@ typedef struct
 
     /* Write any port specific assembler output. */
     void (*genAssemblerPreamble) (FILE * of);
+      /* 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
@@ -239,9 +244,11 @@ typedef struct
     bool eq_nne;               /* transform a == b --> ! (a != b)  */
 
     bool arrayInitializerSuppported;  
-    
     bool (*cseOk) (iCode *ic, iCode *pdic);
-    builtins *builtintable;    /* table of builtin functions */
+    builtins *builtintable;     /* table of builtin functions */
+    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
 /** Used at runtime to detect if this structure has been completly filled in. */
     int magic;
@@ -274,5 +281,11 @@ extern PORT i186_port;
 #if !OPT_DISABLE_TLCS900H
 extern PORT tlcs900h_port;
 #endif
+#if !OPT_DISABLE_TININative
+extern PORT tininative_port;
+#endif
+#if !OPT_DISABLE_XA51
+extern PORT xa51_port;
+#endif
 
 #endif /* PORT_INCLUDE*/