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