uz
7b847321a8
Move the version numbers from the interface of the version module into a new
...
implementation. Allow for release candidates to be specified and disinguished.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4260 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 20:10:01 +00:00
uz
85f96a7d6f
Fixed warnings generated by clang (run by Per Olofsson).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4255 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 15:59:18 +00:00
uz
4e1faa0b01
Makefile simplification by Greg King
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4253 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-28 15:30:10 +00:00
uz
2cc68784cc
Make the watcom makefiles a bit more openwatcom compatible.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4248 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-27 18:40:00 +00:00
uz
93d161f877
Cast the (unused) result of CHECK and PRECONDITION to void to (hopefully) get
...
rid of a clang warning.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4238 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-26 18:55:00 +00:00
uz
e80cb24164
Comment out the RegVal function using #if to get rid of the compiler warning
...
about an unused function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4237 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-26 18:54:00 +00:00
uz
a16dcb549f
Separate the linker config for the apple2enh target from the ones for the
...
apple2.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4235 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-26 16:12:02 +00:00
uz
7867bf2921
Fixed the config for the CBM510. Because of changes in the startup code, it
...
didn't work any longer.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4226 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 20:42:55 +00:00
uz
31f6f814af
Since we have now builtin search paths, we need to be able to forget them,
...
otherwise we cannot build libraries with a customized version.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4222 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 17:24:52 +00:00
uz
b8e665e837
Change the makefiles so that CFLAGS that are special for the application are
...
appended after assigning the base value to CFLAGS. This allows to change
CFLAGS on the command line without too much hassle.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4219 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 15:07:11 +00:00
uz
c4d83d4cbf
Use xmalloc.h and change the code slightly to get rid of two gcc warnings.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4218 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 15:05:48 +00:00
uz
6da6da78ae
Added search paths similar to that of the linker and compiler.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4217 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-24 14:49:52 +00:00
uz
cb688729af
Changed search paths to use subdirectories of CC65_HOME, remove CC65_LIB.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4209 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-22 11:49:53 +00:00
uz
a9e46e245a
New function AddSubSearchPathFromEnv.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4208 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-22 11:29:13 +00:00
uz
feb212df62
New linker config for the VIC-20 with 32K cartridge by Stefan Haubenthal.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4205 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-22 09:33:49 +00:00
uz
20eb942ab9
Oliver added a comment to the Apple2 linker config.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4197 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-20 13:14:29 +00:00
uz
9d00253227
Additional linker configs for the Apple by Oliver Schmidt.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4195 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-19 16:14:46 +00:00
uz
08f176c5aa
Removed the - now unused - empty builtin configuration (was used for the ace
...
target before).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4194 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 19:13:59 +00:00
uz
9a4ec37b40
Change search paths for the linker.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4193 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 19:00:24 +00:00
uz
050c56211a
Renamed some additional (not builtin) linker configs.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4188 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 17:06:26 +00:00
uz
dca7cfd249
Removed the (unused and probably non-working) config for OS/A65.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4187 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 17:04:20 +00:00
uz
b5db4cd5fa
Added wide char literals, but treat them identical as normal strings.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4185 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-18 14:28:52 +00:00
uz
52a368adc1
Improved the code that checks for memory accesses. The old code didn't detect
...
certain accesses.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4174 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 22:02:48 +00:00
uz
29cea09e0d
Removed debug output
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4171 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 19:56:47 +00:00
uz
d451248437
Fixed another problem with OptJumpTarget1, that was mostly prevented from
...
being triggered by other optimizations, which removed or changed the trigger
code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4170 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 19:54:50 +00:00
uz
254e1169f2
Fixed a problem with OptJumpTarget1: The inspected jump must not have a label
...
attached, because the effective code changes for code jumping to this label if
removals are applied.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4169 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-14 18:36:38 +00:00
uz
32e2eb3fad
Fixed parsing a labeled-statement: A label is always part of a statement, it
...
is not itself one.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4166 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 14:36:16 +00:00
uz
e035323ab4
Added another condition that allows us to remove pha/pla.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4163 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 13:22:27 +00:00
uz
785d8ebb43
Removed the ace target. It didn't have a linker config and was untested for
...
~10 years
git-svn-id: svn://svn.cc65.org/cc65/trunk@4162 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-13 11:46:04 +00:00
uz
df22cbf925
Search config files also in the builtin search directory for libraries and in
...
the directory defined in the CC65_LIB environment variable.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4158 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-12 20:12:48 +00:00
uz
fa3a7930d7
Fixed a problem with load tracking in OptStackOps.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4147 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 16:36:17 +00:00
uz
079358c3c1
Fixed an error in OptPtrLoad16.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4139 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 21:10:19 +00:00
uz
e68332a10b
Fixed several more problems like the one in Assignment() some time ago: An
...
expression that yields a constant value may have side effects, and the
expression code must not be removed in this case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4138 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 20:29:12 +00:00
uz
2d3b0f1146
Fixed a problem similar to the one in Assignment() some time ago: An
...
expression that yields a constant value may have side effects, and the
expression code must not be removed in this case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4137 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 20:08:21 +00:00
uz
84e288f21c
Use the new function MarkedExprWithCheck.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4136 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 19:49:30 +00:00
uz
0c20177fce
Allow to store start and end of generated code in the ExprDesc structure. New
...
function MarkedExprWithCheck.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 19:48:22 +00:00
uz
331803126f
Fixed flexible array struct members.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4131 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-08 07:55:44 +00:00
uz
9f7ca16001
Added initialization of bit-fields.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4130 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-07 16:59:46 +00:00
uz
f5ca779b9b
A constant right side does not necessarily mean that no code is generated for
...
the right side. The expression may have had side effects. This error is also
found in several other places.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4129 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-07 14:22:27 +00:00
uz
b2d30c3283
Remove stack pointer check in RemoveCodeRange - the calling function has to
...
take care about that.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4128 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-07 14:21:19 +00:00
uz
90c731d1e9
Changed a comment line.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4125 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-06 21:39:28 +00:00
uz
f50520dffe
Use xsprintf instead of sprintf.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4124 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-06 19:07:18 +00:00
uz
94a2223443
Use SymIsTypeDef and SymIsBitField instead of accessing Sym->Flags directly.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4123 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-06 16:51:08 +00:00
uz
cc229ce7ba
New function SymIsBitField.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4122 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-06 16:50:41 +00:00
uz
2402ef005e
Fixed an error: When initializing unions, only the first member can be
...
initialized.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4121 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-06 16:44:16 +00:00
uz
38ff6818fc
Fixed wrong code generation in g_leasp.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4118 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-04 20:57:23 +00:00
uz
fa2064ae3b
Fix problem with OptPtrLoad1 - never insert before the deleted code, always
...
delete after! Otherwise labels will get wrong.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4117 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-04 20:16:18 +00:00
uz
18d865e609
Fixed another problem with OptStackOps: Load tracking will not work across
...
branches - if we find a label, just forget all information we had before.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4116 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-04 19:54:29 +00:00
uz
f6c589bf8e
Fixed problems with OptPrecalc. It removed insns because it results were known
...
- but the insns generate a carry which may be needed later.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4115 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-04 15:44:48 +00:00
uz
67d64e67d5
Fixed a typo in a comment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4114 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-04 15:42:36 +00:00
uz
e1832b2e57
Replace "lda (zp),y" by "lda (zp,x)" where possible and where it saves us
...
cycles and code bytes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4113 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-03 12:13:08 +00:00
uz
d85e6f9124
Replacement code for ule and ugt was wrong and did not cover values that were
...
equal.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4112 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-03 11:58:11 +00:00
uz
7cd92c82fa
Added code replacements for several missing compare functions. Fixed a bug in
...
coptstop.c that popped up if transfer instructions were used to load a value
into X.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4111 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-01 20:57:39 +00:00
uz
7c613f7a83
Terminate after printing the version number when -V is used.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4110 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-01 14:41:37 +00:00
uz
e9eb9eb77c
Improved code generation, better tracking.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4108 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-01 10:07:02 +00:00
uz
cdc3afa6ef
Fixed a problem with OptCmp3 that was in there for a while but is now
...
triggered because of the new subtraction code sequence.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4107 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-01 10:06:39 +00:00
uz
7c4240fe69
Minor code improvement.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4106 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-01 09:15:19 +00:00
uz
944057238e
Simplify code generated for the ?: operator when type conversion code for the
...
second operand is necessary. Instead of generating interleaved code with
several jumps, just move the code to the right place.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4105 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-01 08:57:36 +00:00
uz
84710f7227
Remember more function infos in the Function struct.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4104 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 20:37:54 +00:00
uz
0c08f65872
Fixed a bug in Opt_tosaddax.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4103 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 19:36:06 +00:00
uz
c942568af9
Simplify the code somewhat.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4102 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 18:18:50 +00:00
uz
30f25ae12d
Make the AddOpLow and AddOpHigh functions usable with both, lhs and rhs
...
operands.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4101 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 18:02:44 +00:00
uz
b829bda8cb
Print the SVN version number when -V or --version is used.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4100 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 17:17:18 +00:00
uz
b3f3b21f80
Fixed a few C99isms that prevented the sources to compile with Watcom-C.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4099 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 17:15:59 +00:00
uz
514775cbdf
Fixed a copy&paste error in a comment.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4098 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 16:48:45 +00:00
uz
7983009e06
Improved code for bit fields.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4097 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 15:11:32 +00:00
uz
dc678e8dcb
Improved the code generated for bit-fields.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4096 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 14:59:49 +00:00
uz
0a9c7484ad
Add a warning if a function returning something does not contain a return
...
statement.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4095 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 13:18:49 +00:00
uz
7064aafab9
Added info about changed leaa0sp and leaaxsp. Rewrote g_leasp to cope with 16
...
stack offsets, because it's rather easy in this case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4093 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 12:41:38 +00:00
uz
45d4771584
For bit fields contained within single bytes, try to do character operations
...
instead of word sized ops.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4089 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-30 09:01:04 +00:00
uz
0b0353de13
Use CHAR_BITS instead of a hardcoded 8 bits/byte.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4088 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-30 08:37:21 +00:00
uz
03e206a44f
Make the SIZEOF_XXX constants resolve to unsigned values.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4087 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-30 08:36:56 +00:00
uz
2ddeb069eb
Any field without a name is legal but useless in a union.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4086 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-30 08:30:55 +00:00
uz
a09c71b3ff
Separate the functions that parse unions and structs, because they became too
...
different.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4085 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-30 08:28:16 +00:00
uz
8d5999c3a4
Added even more subroutines to the "harmless calls" list.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 23:19:01 +00:00
uz
b098d8045e
Code improvements
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4081 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 21:58:06 +00:00
uz
6b4fe90928
First implementation of bit fields.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4079 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 21:20:13 +00:00
uz
7c6ee79ea9
Added more harmless functions to the list, so the stuff gets applied in more
...
cases.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4078 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 21:17:28 +00:00
uz
b0a89ff421
Improved code for shifts.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4077 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 20:16:52 +00:00
uz
b4855e017b
The shift long by 4 functions do also destroy Y.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4076 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 20:14:20 +00:00
uz
ddeb171617
Info for long shift functions was missing or wrong.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4075 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 20:04:18 +00:00
uz
d0c4f85e51
Fix wrong check for typedef which caused non allocation of storage for structs
...
after the latest changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4074 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 19:05:01 +00:00
uz
7ced0a2ceb
Rename Width to BitWidth.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4073 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 19:04:21 +00:00
uz
bd872a6324
Added code to parse bit fields and enter them into the symbol table. They're
...
not supported in code generation until now.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4072 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 17:38:53 +00:00
uz
82919fa2f8
Another tiny code improvement for integer compares.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4071 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 11:31:28 +00:00
uz
c741f06ac1
Fixed a problem with local variables (stack offset for RHS was not corrected).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4070 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 11:31:06 +00:00
uz
53372ae1c1
Just comment and formatting changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4069 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 10:54:59 +00:00
uz
5918306fe2
Change mode constants for ParseDecl to an enum.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4068 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 21:34:28 +00:00
uz
73e2a72a2a
Reorder optimimization steps to get better results.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4067 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 21:03:17 +00:00
uz
a9f540fb27
Added more code to improve compares.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4066 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 19:34:35 +00:00
uz
cd568ef898
Fixed a bug introduced by recent changes.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4065 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 17:38:24 +00:00
uz
f66cd4a13f
Changed code generated for compares. Fixed bugs in OptStackOps. Still
...
generates wrong code in at least one place.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4063 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 16:32:58 +00:00
uz
1b2e0f66cc
Change code generated for compares for special cases.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4062 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 13:44:03 +00:00
uz
7f143d77d1
Added -u as an alias for --force-import. Updated command line option infos in
...
the cl65 and ld65 docs.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4061 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 10:23:19 +00:00
uz
e0643a9f77
Relax the precondition for OPtStackOps somewhat.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4060 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-28 09:29:11 +00:00
uz
c214fa6395
When preprocessing, all compares evaluate to constants, so don't print a
...
warning in this case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4059 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 22:09:46 +00:00
uz
08d6d96264
Added better code to replace tossubax.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4058 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 22:07:28 +00:00
uz
d65928829f
Added a warning if the result of a compare operation is constant. This should
...
protect against missing parenthesis like in (si & 0x7F == 0). Hopefully
without too many false positives.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4057 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 22:00:18 +00:00
uz
55e8f67640
Try to generate more predicable code. clc always before adc or sbc.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4056 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 16:59:26 +00:00
uz
1b4e2111c3
Check for usage of Y instead of reloading it. The latter will destroy the
...
flags from load of A.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4055 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 16:38:27 +00:00
uz
7c55f30627
Fixed a problem with OptPtrLoad6 (must correct stack pointer).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4054 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 16:13:17 +00:00
uz
1b40f00573
Added the --force-import option also to the cl65 utility.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4053 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 15:30:52 +00:00
uz
ee6028993e
Added a new "--force-import" command line option to the linker.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4052 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 14:43:44 +00:00
uz
2b15f40424
Use the new AddrSizeFromStr function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4051 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 14:19:47 +00:00
uz
6f39a15eff
Added an AddrSizeFromStr function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4050 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-27 14:11:07 +00:00
uz
8fa42540c1
Disable handling of tossubax since it won't work as implemented in many cases.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4047 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-20 21:01:01 +00:00
uz
f63964e23c
Added several constraints to the optimizer functions to avoid breaking code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4046 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-20 16:06:20 +00:00
uz
4a93f188a0
Fixed a bug reported by Greg King: Initialized data for constant arrays was
...
not placed in the RODATA but in the DATA segment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4044 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-20 10:55:38 +00:00
uz
b9c0d6ac85
Also handle ldaxysp as a valid load insn before a push.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 13:36:26 +00:00
uz
8a0d80bbf0
Inline the left shift routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4041 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 13:20:28 +00:00
uz
57ef34f041
Apply OptTransfers3 again in a later step, so it gets another chance.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4040 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 12:47:30 +00:00
uz
f3b639f835
Generate more predictable code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4039 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 10:17:10 +00:00
uz
2e8d62cf88
Add an additional precondition check for safety.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4038 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-19 10:14:14 +00:00
uz
824ab8b137
Serval improvements, handling of tossubax.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4037 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-18 15:10:15 +00:00
uz
45aa228489
Change order of insns in generated sequence in OptPtrLoad17.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4034 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 16:25:54 +00:00
uz
430c13f658
Added/corrected code info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4033 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 16:23:29 +00:00
uz
97c0e45c9f
Rewrite of the main function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4032 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 12:52:50 +00:00
uz
548dfd3060
Change order, so that the forced imports for main() go into the global
...
segments and not the one for main().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4031 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 23:37:09 +00:00
uz
1bd4abdc67
Use correct adddressing mode for "asl a".
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4030 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 21:01:16 +00:00
uz
cbf4884f13
Some more pattern replacements.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4029 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 20:56:33 +00:00
uz
e646d35db0
Output an apropriate error message when a floating point type is encountered
...
(instead of an internal compiler error).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4028 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 19:23:07 +00:00
uz
3aa4d74b18
Added more function info
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4026 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 16:38:25 +00:00
uz
582506b7fc
Check also sreg in OptSize1. Added information about shortcut functions for
...
longs that clear the high word of the right operand on entry.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4024 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 21:00:27 +00:00
uz
d0f9a0d6a7
Fixed wrong insertion order that caused problems with labels.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4022 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:49:46 +00:00
uz
14b00447a8
Fixed wrong insertion order that caused problems with labels.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4021 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:45:02 +00:00
uz
b4fda62df9
clc should always be the insn before adc.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4020 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 16:00:30 +00:00
uz
15c420fd39
Some branch improvements.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4019 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 15:58:21 +00:00
uz
3381311674
Inline some forms of aslax1
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4018 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 15:27:43 +00:00
uz
f495a9edc3
Fixed an error
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4017 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:43:59 +00:00
uz
61195d914e
Replace ldaxidx by inline code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:20:26 +00:00
uz
33f6c85753
Add more function to the "harmless calls" list.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4015 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 14:18:00 +00:00
uz
b391929acb
Minor improvement in last change
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4014 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:42:40 +00:00
uz
3717443f3b
Try to generate more predictable code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4013 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:25:40 +00:00
uz
fbe009a182
Remove even more transfer instructions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:16:56 +00:00
uz
14f213cadb
Remove unnecessary transfer instructions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4011 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 12:49:15 +00:00
uz
b68db83a2b
Remove more push/pop sequences.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4010 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 10:27:41 +00:00
uz
d27664036d
Change order of replacement code in OptPtrLoad10 to allow detection in other
...
steps.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 10:14:04 +00:00
uz
0c4144c586
Don't generate inlined codes for integers shifts. If necessary the optimizer
...
can do that.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4007 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:17:47 +00:00
uz
0b7b9354dc
Don't generate short code for the tosxxx functions when X is zero or similar.
...
Let the optimizer do it. This reduces the number of possible patterns that
must be detected by the optimizer. Add tosicmp0 as a shortcut function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4006 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:10:04 +00:00
uz
fdfa1678d4
Tell the compiler more about the runtime library functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4004 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 20:21:47 +00:00
uz
4a5ceb13c7
Removed debug code
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4003 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 18:32:11 +00:00
uz
50b410eb32
Do size improvements always if they have no impact on speed.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4002 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 18:23:29 +00:00
uz
f374e746af
Improvements in array index code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4001 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 17:28:32 +00:00
uz
a9b2226956
Moved part of codeopt into coptptrload for better modularization.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4000 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 17:09:24 +00:00
uz
cb1870de74
Fixed an off-by-one error (reported by Greg King - thanks).
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3996 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-05 14:29:30 +00:00
cpg
9cafacaf6d
introduce STARTUP segment to Atari platform
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3995 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 20:04:41 +00:00
uz
3ce7717bd2
Don't allow to call subroutines that aren't actual functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3994 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 19:23:15 +00:00
uz
70d2d9e50f
Fixed an off-by-one bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3993 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 19:22:15 +00:00
uz
ca73116a03
New function IsLocalLabelName.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3992 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-04 19:12:34 +00:00
uz
3d95c9453f
There's no longer a need to link in the startup file, it's done my magic
...
instead.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3991 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 13:39:07 +00:00