From: Stephen W. <st...@ic...> - 2001-02-05 22:22:28
|
Something about the latest round of changes has broken compiles of _divsint.c. I get a seg fault. The actual crash is here: #0 operandFromSymbol (sym=0x0) at SDCCicode.c:1085 1085 if (IS_LITERAL(sym->etype) && SPEC_ENUM(sym->etype)) (gdb) up #1 0x1200263c4 in geniCodeParms (parms=0x12025cee0, stack=0x11ff36230, fetype=0x120218a30, func=0x1202186a0) at SDCCicode.c:2520 2520 operand *top = operandFromSymbol(parms->argSym); (gdb) That is, parms->argSym is nil when it is passed to operandFromSymbol in geniCodeParms. The func parameter is: (gdb) print *func $8 = {name = "_divuint", '\000' <repeats 56 times>, rname = "__divuint", '\000' <repeats 55 times>, level = 0, block = 0, [... and more things...] and the call to _divuint in _divsint is: register int r; r = _divuint((a < 0 ? -a : a), (b < 0 ? -b : b)); -- Steve Williams "The woods are lovely, dark and deep. st...@ic... But I have promises to keep, st...@pi... and lines to code before I sleep, http://www.picturel.com And lines to code before I sleep." |