Fixed wrong assumptions in the optimizer when subroutine calls to absolute
addresses are made. git-svn-id: svn://svn.cc65.org/cc65/trunk@2800 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -37,6 +37,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
/* common */
|
/* common */
|
||||||
|
#include "chartype.h"
|
||||||
#include "coll.h"
|
#include "coll.h"
|
||||||
|
|
||||||
/* cc65 */
|
/* cc65 */
|
||||||
@@ -309,6 +310,15 @@ void GetFuncInfo (const char* Name, unsigned short* Use, unsigned short* Chg)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} else if (IsDigit (Name[0]) || Name[0] == '$') {
|
||||||
|
|
||||||
|
/* A call to a numeric address. Assume that all CPU registers get
|
||||||
|
* used, but no memory contents are changed.
|
||||||
|
*/
|
||||||
|
*Use = REG_AXY;
|
||||||
|
*Chg = REG_AXY;
|
||||||
|
return;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
/* Search for the function in the list of builtin functions */
|
/* Search for the function in the list of builtin functions */
|
||||||
|
|||||||
Reference in New Issue
Block a user