diff --git a/src/config_gram.y b/src/config_gram.y index 3b979c20..3507fd29 100644 --- a/src/config_gram.y +++ b/src/config_gram.y @@ -29,6 +29,7 @@ #include "avrdude.h" #include "libavrdude.h" #include "config.h" +#include "developer_opts.h" #if defined(WIN32) #define strtok_r( _s, _sep, _lasts ) \ @@ -1325,6 +1326,16 @@ part_parm : lrmv_d(current_part->mem, current_mem); avr_free_mem(current_mem); is_alias = false; + } else { // check all opcodes re necessary address bits + unsigned char cmd[4] = { 0, 0, 0, 0, }; + int bn; + + for(int i=0; iop[i]) { + if((bn = avr_set_addr_mem(current_mem, i, cmd, 0UL)) > 0) + yywarning("%s's %s %s misses a necessary address bit a%d", + current_part->desc, current_mem->desc, opcodename(i), bn-1); + } } current_mem = NULL; } |