| |
| Posted by Eduardo Nunes in reply to Jan Knepper | PermalinkReply |
|
Eduardo Nunes
Posted in reply to Jan Knepper
| "Jan Knepper" <jan@smartsoft.us> wrote in message news:3DB7F2B4.F33A72D1@smartsoft.us...
> Eduardo Nunes wrote:
>
> > The compiler generate bad code for CMatrix::rotate method, when used
with
> > the switches,
> > -5 -o+all.
> > but correct code without -5 switch.
> > in attach is a example code.
>
> Tried without the -o+all switch and with the -5 switch?
>
> Jan
>
yes,
sc bug2.cpp (good code)
sc -5 bug2.cpp (good code)
sc -o+all bug2.cpp (good code)
sc -5 -o+all bug2.cpp (bad code)
from reading the generated code, the main difference and the crash point is:
mov EAX,FLAT:_DATA[00h]
mov EDX,FLAT:_DATA[04h]
mov ECX,EAX
mov 060h[EAX],EAX <<< crash, EAX=0, EDX=0
the compiler version is 8.30,
Eduardo Nunes,
ed@sky3d.com
|