OT: c: mismatched comparison

Miroslav Draxal evik na volny.cz
Pondělí Červenec 29 13:23:24 CEST 2024


Dobrý den ve spolek.

Už delší dobu si lámu hlavu nad tím, co se nelíbí překladači. Je to tedy
vyseparované z daleko složitější podmínky, ale tohle ten problém způsobuje. 

 

Microchip

XC8 ver.2.46

 

uint8_t RucneCisloSekce;

uint8_t CisloSekce;

 

if (RucneCisloSekce == (CisloSekce - 1u)) {

  NOP();

}

 

Hlásí warning: (764) mismatched comparison

Což je 

(764) mismatched comparison (Code Generator)

A comparison is being made between a variable or expression and a constant
value which is not in

the range of possible values for that expression, for example:

unsigned char c;

if(c > 300) /* oops -- how can this be true? */

close();

 

 

pokud odstraním -1, potom OK.

Ano, může to přetéct z 0x00 do 0xff, ale to není "mismatched comparison"

???

 

Díky za vysvětlení, Míra

 

------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240729/7f74c298/attachment.htm>


Další informace o konferenci Hw-list