X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fpic16%2Fdevice.h;h=717b681cda49051b4881d43b0d1d29b32510406a;hb=3dd222a7b0e8c4766d750f87a073ff9ff1e8ba50;hp=f25163331f7cb69712928763ccab8264bde0776a;hpb=8332acb8ebcdd1490779c012db097c74c71d039e;p=fw%2Fsdcc diff --git a/src/pic16/device.h b/src/pic16/device.h index f2516333..717b681c 100644 --- a/src/pic16/device.h +++ b/src/pic16/device.h @@ -86,6 +86,10 @@ typedef struct PIC16_device { /* 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; @@ -100,6 +104,9 @@ typedef struct { 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) @@ -108,6 +115,18 @@ typedef struct { 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;