__rlrr array lacking extern
[fw/sdcc] / src / port.h
index f8e733a8f3b159f7eff763c2be8e9ea556f1126e..897380323e740ce4d0dc0ee586f74868a3e0e14c 100644 (file)
@@ -148,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;
@@ -201,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;
@@ -213,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;
@@ -246,4 +249,4 @@ extern PORT i186_port;
 extern PORT tlcs900h_port;
 #endif
 
-#endif PORT_INCLUDE
+#endif /* PORT_INCLUDE*/