From: Michael H. <mic...@ju...> - 2001-10-11 04:36:13
|
Oh, and I just realised that 203 (not 209, oops) is 256-53. The common bugs with endianness are: * De-referencing from the wrong pointer type. Works on little endian, not on big. * Overlaying different types in a union and then referencing the wrong type. -- Michael On Thu, 11 Oct 2001, Michael Hope wrote: > We'll, I'm not very good at this but here is what I know sofar. Attached > is a simple test case and *.dump* outputs. The code goes bad in the cse > stage. It seems that when the a = b == c line is optimised and the left > hand value is corrupted. When the evaluation in SDCCicode.c:984 happens > it compares 209 with -53 instead of the real value with -53. > > It seems that the value is evaluated correctly earlier on, but during the > comparison it isn't. > > Help. Can anyone suggest where I should look? > > -- Michael > |