c:

Miroslav Draxal evik na volny.cz
Neděle Červenec 9 12:00:49 CEST 2017


Na 
volatile unsigned char y = (unsigned char) 0x0111 & 0xfe;

vyhodí taky varování. 
Optám se Microchipu.
Míra

-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jan Waclawek
Sent: Sunday, July 09, 2017 11:54 AM
To: HW-news
Subject: Re: c:

>> Kompilator sa snazi naznacit, ze sa chystate natlacit okruhlu 
>> skladacku do otvoru pre stvorcovu skladacku
>
>No ale ved to & 0xFF je prave ta potrebna kvadratura kruhu, ci?


Aha az teraz mi to doslo - ten kompilator varuje *prave* na *explicitnu*
kvadraduru, nie na nasledne tlacenie do otvoru!

Tak to je IMO chore a aj ked si moze prekladac varovat na co chce, toto
podla mna odporuje to pravidlam/duchu C99. 

V pripade (0x111 & 0xFF) to odporuje duchu pravidiel o typovani konstant a
pravidiel binarnych operacii - oba operandy toho & su signed int a pri & z
principu nemoze dojst k preteceniu. IMO pri zjednodusovani stromu to & 0xFF
interne skonvertuje na pretypovanie. Skuste len tak kvoli zabave
0x111 & 0xFE.

A v pripade explicitneho pretypovania je prave ta explicitnost toho
pretypovania vyrazom vole programatora tu kvadraturu urobit, na toto nie je
ziadny dovod varovat, to je uplna sprostost.

Moje dva eurocenty.

wek

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list