#define TARGET_ID_AVR 4
#define TARGET_ID_DS390 5
#define TARGET_ID_PIC 6
+#define TARGET_ID_PIC16 7
#define TARGET_ID_XA51 9
#define TARGET_ID_DS400 10
+#define TARGET_ID_HC08 11
/* Macro to test the target we are compiling for.
Can only be used after SDCCmain has defined the port
#define TARGET_IS_DS390 (port->id==TARGET_ID_DS390)
#define TARGET_IS_DS400 (port->id==TARGET_ID_DS400)
#define TARGET_IS_PIC (port->id==TARGET_ID_PIC)
+#define TARGET_IS_PIC16 (port->id==TARGET_ID_PIC16)
#define TARGET_IS_XA51 (port->id==TARGET_ID_XA51)
+#define TARGET_IS_HC08 (port->id==TARGET_ID_HC08)
#define MAX_BUILTIN_ARGS 16
/* definition of builtin functions */
struct
{
+ /** Pointer to glue function */
+ void (*do_glue)(void);
/** TRUE if all types of glue functions should be inserted into
the file that also defines main.
We dont want this in cases like the z80 where the startup
}
mem;
+ struct
+ {
+ void (*genExtraAreaDeclaration)(FILE *, bool);
+ void (*genExtraAreaLinkOptions)(FILE *);
+ }
+ extraAreas;
+
/* stack related information */
struct
{
*/
bool use_dw_for_init;
+ /** TRUE for targets with little endian byte ordering, FALSE for
+ targets with big endian byte ordering.
+ */
+ bool little_endian;
+
/* condition transformations */
bool lt_nge; /* transform (a < b) to !(a >= b) */
bool gt_nle; /* transform (a > b) to !(a <= b) */
#if !OPT_DISABLE_PIC
extern PORT pic_port;
#endif
+#if !OPT_DISABLE_PIC16
+extern PORT pic16_port;
+#endif
#if !OPT_DISABLE_TININative
extern PORT tininative_port;
#endif
#if !OPT_DISABLE_DS400
extern PORT ds400_port;
#endif
+#if !OPT_DISABLE_HC08
+extern PORT hc08_port;
+#endif
#endif /* PORT_INCLUDE*/