#ifndef __DEVICE_H__
#define __DEVICE_H__
-#if defined(__BORLANDC__) || defined(_MSC_VER)
-#define STRCASECMP stricmp
-#else
-#define STRCASECMP strcasecmp
-#endif
-
#define CONFIGURATION_WORDS 20
#define IDLOCATION_BYTES 20
/* Given a pointer to a register, this macro returns the bank that it is in */
#define REG_ADDR(r) ((r)->isBitField ? (((r)->address)>>3) : (r)->address)
-#define OF_LR_SUPPORT 0x00000001
-
+#define OF_LR_SUPPORT 0x00000001
+#define OF_OPTIMIZE_GOTO 0x00000002
+#define OF_OPTIMIZE_CMP 0x00000004
+#define OF_OPTIMIZE_DF 0x00000008
typedef struct {
int no_banksel;
int ip_stack;
unsigned long opt_flags;
int gstack;
+ unsigned int debgen;
+ int CATregs;
} pic16_options_t;
+extern int xinst;
+
#define STACK_MODEL_SMALL (pic16_options.stack_model == 0)
#define STACK_MODEL_LARGE (pic16_options.stack_model == 1)
extern set *fix_idataSymSet;
extern set *rel_idataSymSet;
+#if 0
+/* This is an experimental code for #pragma inline
+ and is temporarily disabled for 2.5.0 release */
+extern set *asmInlineMap;
+#endif /* 0 */
+
typedef struct {
unsigned long isize;
unsigned long adsize;