Re: [cc65] Re: possible error?

From: Ullrich von Bassewitz <uz1musoftware.de>
Date: 2009-07-30 16:49:05
Hi!

On Wed, Jul 29, 2009 at 08:38:52PM +0200, Johan Kotlinski wrote:
> Another (very similar) problem example...
>
> extern char foo[4];
> void setfoo(char a)
> {
>     foo[2] = a;
> }
[...]

The bad code is a problem introduced by the problem fix. It is correct, but
since cc65 doesn't build explicit parse trees in memory, information is lost
when converting functions and arrays to pointers and cannot easily regained.
So I had to revert the change and fix the problem in the ?: operator. The
solution is worse than the old one and it means that there may be other cases,
where the conversion is not applied, but at least code generation should be as
before.

Thanks for testing and reporting!

> ...and couldn't the last jsr/rts pair be changed to a jmp?

It is. Just enabled optimizations.

> Sorry, I will stop writing more for now :)

Just keep on. I'm glad for every feedback, especially for reported bugs.

Regards


        Uz


-- 
Ullrich von Bassewitz                                  uz@musoftware.de
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Thu Jul 30 16:51:06 2009

This archive was generated by hypermail 2.1.8 : 2009-07-30 16:51:09 CEST