www.digitalmars.com         C & C++   DMDScript  

c++ - bug report

reply "Eduardo Nunes" <edfpn hotmail.com> writes:
Walter,

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.

btw, what is the pentium favored code guidelines used by the compiler,
besides code reordering?

Thanks,

Eduardo Nunes
ed sky3d.com
Oct 24 2002
parent reply Jan Knepper <jan smartsoft.us> writes:
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
Oct 24 2002
parent reply "Eduardo Nunes" <edfpn hotmail.com> writes:
"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


 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

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
Oct 24 2002
parent "Walter" <walter digitalmars.com> writes:
Thanks, I'll take a look. -Walter
Oct 24 2002