cuz
aa39d98cbc
When changing the reference to a jump label, do also replace the string
...
argument for the instruction with the name of the new jump label. This
allows CodeEntriesAreEqual to work in all cases, and therefore optimizations
based on this function will also work more effectively (or at all).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3100 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 16:21:07 +00:00
cuz
e4473c0a96
Repeat the check in OptJumpTarget whenever a match is found to find rows of matches
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3099 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 16:19:23 +00:00
cuz
522f1d86d4
Generate LDY instead of INY whenever possible because this allows better
...
detection of known patterns and is replaced by INY in a later step anyway.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3098 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 16:18:30 +00:00
cuz
08eb9b7b0e
Check for and warn on statements that don't have an effect
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3097 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 12:56:51 +00:00
cuz
3a0edbff75
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3096 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 11:50:04 +00:00
cuz
104ae3a54f
Move the compiler stack pointer into its own module.
...
Improved the inlining of standard C functions. Added more standard functions
to inline.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3095 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 11:35:53 +00:00
cuz
a0c1b9fe38
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3094 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 11:33:44 +00:00
cuz
1ec972d0c4
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3093 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 21:30:37 +00:00
cuz
3a144965fa
Added T_SIZE_T as an alias for T_UINT
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3090 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 17:52:19 +00:00
cuz
28a60dd8d5
Added strcpy
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3089 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 17:51:49 +00:00
cuz
da2049637a
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3088 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 17:00:48 +00:00
cuz
87d0d88986
Check the InlineStdFuncs flag later
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3086 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:37:50 +00:00
cuz
361316246b
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3085 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:36:54 +00:00
cuz
b1d7f78bce
More debugging output
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3084 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:36:36 +00:00
cuz
eb9d9ee0c5
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-04 14:06:36 +00:00
cuz
f4995609ef
Define symbols depending on the target system similar to the C compiler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3079 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 21:12:29 +00:00
cuz
8c4b3599a2
Fixed a typo
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3073 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 12:09:24 +00:00
cuz
2fa9b6e5ac
Improved code generation
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3072 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 12:08:49 +00:00
cuz
01104d26ea
Fixed generation of non optimal code in StructRef()
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3071 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 11:10:30 +00:00
cuz
763a359114
Comment and indentation changes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3070 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-03 11:08:50 +00:00
cuz
6e34e386cb
Rewrote code generation for the strlen standard function. Added code for
...
other standard functions in several places.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3069 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-02 21:33:35 +00:00
cuz
2bb2ceec33
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3067 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-02 21:20:18 +00:00
cuz
d8f7384091
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3066 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-01 20:30:44 +00:00
cuz
efdd68e735
Fix external function names
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3063 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-01 08:48:20 +00:00
cuz
111c69a826
String literals can be handled as static data in most cases
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3062 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-31 19:51:13 +00:00
cuz
f5403e7d57
Load programs at 13:5900 instead of 00
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3057 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-31 19:25:38 +00:00
cuz
8d8162eb23
Rewrite/cleanup of the complete expression flags handling.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3056 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-31 15:27:33 +00:00
cuz
ef6a034153
Removed unused modules
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3051 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-27 14:20:16 +00:00
cuz
fedb566ff1
Some renaming and restructuring
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3050 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 16:15:28 +00:00
cuz
4f024ca81b
Added a missing include
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3049 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 13:55:48 +00:00
cuz
72923eb316
Generate assembler names for symbols
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3048 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 13:44:53 +00:00
cuz
2cdef2d58f
Add standard names for library functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3047 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-26 13:42:19 +00:00
cuz
878e4f1352
Changed the expression parser to return the lvalue flag as part of the
...
ExprDesc structure, not as separate value.
WARNING: The current code does compile but does not work correctly, because
the lvalue flag is part of ExprDesc.Flags and not masked out in several tests
throughout the code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3046 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-25 20:59:38 +00:00
cuz
556b861640
Better error messages in case of a range error
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-14 15:05:51 +00:00
cuz
b58b62c77e
Better error messages
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3025 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-12 08:51:58 +00:00
cuz
19b9305f02
Added 6502 illegal instructions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3022 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-11 20:32:36 +00:00
cuz
1a68dd715a
New --list-bytes option
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3019 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-10 21:50:13 +00:00
cuz
ab78147991
Fixed a small memory leak
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-10 21:06:53 +00:00
cuz
0effd47c41
Add 6502X cpu
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3017 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-10 09:32:01 +00:00
cuz
1286c79d85
Added CPU_6502X for 6502 with illegal opcodes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-09 21:06:36 +00:00
cuz
b10b7cd3e8
Fixed a problem with {} enclosed token lists and implemented them for
...
.blank and .tcount.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-09 20:24:51 +00:00
cuz
fdb685b874
Allow token lists to be optionally enclosed in curly braces. Using such
...
enclosement, tokens that would otherwise terminate the list can be part
of the list.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3013 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-09 19:45:07 +00:00
cuz
d7234541e2
Fixed compiler warnings
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3006 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-02 19:17:10 +00:00
cuz
fe9c53730c
The type parser didn't check bounds for the type string it created in a
...
fixed size buffer.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3005 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-02 09:57:05 +00:00
cuz
4add4c3396
More output when using -v.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3004 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-05-02 09:50:27 +00:00
cuz
1ae117fed8
Fixed a bug in the handling of ranges where the granularity is not one: An
...
internally generated label could disrupt the output of such a range by
adding an offset not equal to the granularity. The solution is to only
add dependent labels within such a range on all addresses that do not
match the granularity (odd addresses for a .word table for example).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3002 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-29 14:00:28 +00:00
cuz
3ccd9f97c7
Use .addr for address tables
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3001 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-28 20:52:28 +00:00
cuz
968cf01d58
Fixed a problem with the ubiquitous_idents change
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2983 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-20 13:10:52 +00:00
cuz
c3d510a9bc
Add a new feature "ubiquitous_idents" that allows the use of instructions as
...
identifiers and macro names.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-20 12:49:36 +00:00
cuz
0eba6f615f
Fixed a problem with .global: In some situations, exported symbols went
...
into the object files with an address size of ADDR_SIZE_DEFAULT, something
which cannot be handled by the linker.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2980 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-04-19 17:00:12 +00:00