From: Sandeep Dutta <sandeep.dutta@us...>  20001001 02:04:19

Folk, I don't know how many of you noticed that SDCC never generated the != , >= and <= operations. The parser transformed them to !(a==b) , !(a < b) and !(a > b) . AVR needed different transformations. So I added these to port.h , the parser will consult the port to determine if these transformations are needed. Michael this might benefit the z80 port. The default behaviour is the same currently. Here are the fields in port.h /* condition transformations */ bool lt_nge ; /* transform (a < b) to !(a >= b) */ bool gt_nle ; /* transform (a > b) to !(a <= b) */ bool le_ngt ; /* transform (a <= b) to !(a > b) */ bool ge_nlt ; /* transform (a >= b) to !(a < b) */ bool ne_neq ; /* transform a != b > ! (a == b) */ bool eq_nne ; /* transform a == b > ! (a != b) */ The default behaviour for the existing ports is defined by 0, /* leave lt */ 0, /* leave gt */ 1, /* transform <= to ! > */ 1, /* transform >= to ! < */ 1, /* transform != to !(a == b) */ 0 /* leave == */ Regards Sandeep 