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



begin 666 bug2.cpp



M"G9O:60 0TUA=')I>#HZ<F]T871E*&1O=6)L92!R>"QD;W5B;&4 <GDL9&]U
M8FQE(')Z*0T*>PT*"61O=6)L90EC>"QS>"QC>2QS>2QC>BQS>CL-" T*"6-X



M" T*"6U;,5T]*" H8WHJ<W I*G-Y*2LH8W J<WHI*3L-" EM6S5=/2 H8W J

M/3 N,#L-" T*"6U;,ET]*"AS>"IS>BDM*"AC>"IC>BDJ<WDI*3L-" EM6S9=


M,#L-

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