From: Johan K. <joh...@id...> - 2001-08-23 15:40:18
|
Ok, sorry I missed that, I removed my fancy but useless fix and reopened the bug report. The real problem is in genNearPointerGet(), *_sloc_x = _sloc_y where both sloc's are on stack. Now result gets r0, but isn't AOP_INPREG(AOP(left)) but IS_AOP_PREG(left) instead. So an extra pointer register is required for something like "mov r1,@r0" (which should be "mov r0,@r0" since it has no further usage), causing "aopOp(right, ic, FALSE)" to fail because both r0 and r1 are in use. I don't know how to handle this case for situations where size>1. Sandeep, could you have a look at this? Johan ----- Original Message ----- From: Bernhard Held <Ber...@be...> To: <sdc...@li...> Sent: Thursday, August 23, 2001 12:51 PM Subject: RE: [sdcc-devel] the ever lasting --stack-auto crash > > My test case is: sdcc -c _muluint.c --model-large --stack-auto > > Argh! _muluint compiles fines, it must be _mululong.c! > > Again: sdcc -c _mululong.c --model-large --stack-auto > > > >Strange, it works for me for all possible models. In fact: > > >cd sdcc/device/lib > >for a in *.c > >do > >sdcc -c --stack-auto $a > >done > > I don't see the large model. Please try again with --model-large. > > Bernhard > > > _______________________________________________ > sdcc-devel mailing list > sdc...@li... > http://lists.sourceforge.net/lists/listinfo/sdcc-devel > |