> Yep, I see now you weren't making it up. Fixed, though I need to do some
> more looking to understand why the fix works...
Please do, changing SDCCast.c:616 back to "if (newType)" gives me the so
badly wanted integer promotion back. But I am still missing pointer
promotion to generic (e.g. swtloop.c:194).
updated still useless ulinuxsdcc:
And please take a look at readmac.hex. When more than one argument needs
promotion it simply isn't done.Something else is weird as well, I will study
my (not yet commited) fix to vprintf again.
> > Also, (after turning off DEMAND_INTEGER_PROMOTION again) I still see
> > "Ack:
> > ...'s" in owfile.c:87,88,89,90. I simply removed these messages (;-?)
> > at
> > other places by changing some auto int's into char's.
Not quite. The ack's are gone, but now the code is a little bit disabled :).
Please take a look at swtloop.c:97 and search for "johan1" in the asm file
(line numbers are screwed up, as it often does).
; Peephole 220a removed bogus DPS set
mov dps, #0x01
mov dptr, #_main_sloc5_1_0
mov dps, #0x00
whereas swtloop.c:189 (johan2) goes fine.
Maybe I think that when promoting a signed char it should maybe be sign
extended. Just maybe, I'm not sure.