[th/gcc4] apps fixing guide #1 - signed overflow.
Andrzej Krzysztofowicz
ankry w green.mif.pg.gda.pl
Sob, 22 Kwi 2006, 19:10:46 CEST
=?iso-8859-2?q?Pawe=B3_Sikora?= wrote:
> On Saturday 22 April 2006 13:14, Andrzej Krzysztofowicz wrote:
> > Mozesz rozwinac temat i zasugerowac, jaki jest przenosny sposob weryfikacji
> > wystapienia przepelnienia dla zmiennych ze znakiem dzialajacy jednoczesnie
> > w C i w C++ ?
>
> uzycie opcji -ftrapv (zaznaczam *trap* a nie *wrap*).
> z taką opcją kompilator generuje odwołania do bibliotecznych
> operacji matematycznych (duzy spadek na wydajności kodu),
> które mogą rzucić sygnałem. jednak póki co w gcc jest bład,
> który te wywołania optymalizuje (czyt. eliminuje) i w.w. opcja
> nie daje efektów. jak to poprawią, to dam znać.
Ale nie chodzi mi o to jakich opcji kompilacji uzywac, tylko czym zastepowac
kod zliczajacy bity w liczbach "signed" do wystapienia przepelnienia, zeby
dzialal zgodnie z oczekiwaniami, niezaleznie od typu danych, architektury,
czy wersji kompilatora; np.:
n=0;
while (i>=0) {
i*=2;
n++;
}
--
=======================================================================
Andrzej M. Krzysztofowicz ankry w mif.pg.gda.pl
phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math., Gdansk University of Technology
Więcej informacji o liście dyskusyjnej pld-devel-pl