/* 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_OPTIMIZE_GOTO 0x00000002
+#define OF_OPTIMIZE_CMP 0x00000004
+#define OF_OPTIMIZE_DF 0x00000008
typedef struct {
int no_banksel;
char *crt_name;
int no_crt;
int ip_stack;
+ unsigned long opt_flags;
+ int gstack;
+ unsigned int debgen;
} pic16_options_t;
#define STACK_MODEL_SMALL (pic16_options.stack_model == 0)
extern set *fix_idataSymSet;
extern set *rel_idataSymSet;
+extern set *asmInlineMap;
+
+typedef struct {
+ unsigned long isize;
+ unsigned long adsize;
+ unsigned long udsize;
+ unsigned long idsize;
+ unsigned long intsize;
+} stats_t;
+
+extern stats_t statistics;
+
extern pic16_options_t pic16_options;
extern PIC16_device *pic16;