[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: g++ -fwrapv



Dnia 23-03-2006, czw o godzinie 19:05 +0100, mirek boruta napisał(a):

> > Problem nie jest czysto debianowy ale może ktoś będzie wiedział co się dzieje.
> > tohver@Su30:~/mpi$ cat test.cpp 
> > #include <iostream>
> > 
> > int main() {
> > 
> >  int i = -2147483648;
> >  int j = -1;
> >  printf("%d\n", i / j);
> >  return i / j;
> > 
> > }
> > tohver@Su30:~/mpi$ g++ -fwrapv test.cpp 
> > tohver@Su30:~/mpi$ ./a.out 
> > Floating point exception
> > 
> > Dlaczego ta opcja nie działa?
> 
> z man:
> -fwrapv
>     This option instructs the compiler to assume that signed arithmetic
>     overflow of addition, subtraction and multiplication wraps around
>     using twos-complement representation.  This flag enables some opti-
>     mizations and disables others.  This option is enabled by default
>     for the Java front-end, as required by the Java language specifica-
>     tion.

dla ścisłości znalazłem jeszcze na necie krótkie wyjaśnienie, ponieważ u
mnie i bez tej flagi działało (ale to sprawdziłem już po wysłaniu maila)
na odejmowaniu (zwykłe --i), więc trochę zgłupiałem co jest z tą flagą
grane:

http://mailman.iro.umontreal.ca/pipermail/gambit-list/2005-June/000282.html

-- 
mirosław boruta
rlu: #344083



Reply to: