1
0
mirror of https://github.com/cc65/cc65.git synced 2024-09-05 11:29:46 +00:00
Commit Graph

912 Commits

Author SHA1 Message Date
cuz
f5243e514c Fixed optimizer bug in or/xor
git-svn-id: svn://svn.cc65.org/cc65/trunk@1425 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-02 22:21:42 +00:00
cuz
b4326d1930 Place all declarations that are local to a function into the local function
scope. Apart from some other advantages, this works around a bug where having
an external identifier in global scope and using an "extern" declaration for
exactly the same identifier in a function did not work, because the assembler
refused to export and import one and the same identifier. Since the import
now imports into local scope, both identifiers are distinct for the assembler
and the (valid) C code works.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1424 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-02 13:00:04 +00:00
cuz
980c17daef Allow more flexible numeric flag pragma arguments
git-svn-id: svn://svn.cc65.org/cc65/trunk@1423 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-01 08:13:04 +00:00
cuz
65fa99f65e Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1422 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 21:58:39 +00:00
cuz
1f20202239 Ignore also cr's on input. This allows to compile sources with DOS/Windows
line separators on unix systems.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1419 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 19:32:33 +00:00
cuz
15d2c8fc83 Removed debug code
git-svn-id: svn://svn.cc65.org/cc65/trunk@1418 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 19:05:37 +00:00
cuz
d92676ef60 Add SB_GetNumber to scanstrbuf.c.
Rewrite of CharMapPragma in pragma.c
Fixed bug in scanner.c: Invalid octal constants containing the numbers 8
and 9 were accepted by the compiler.
Moved SignExtendChar from scanner.c to datatype.c.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1416 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-30 18:46:08 +00:00
cuz
2df5db1f04 Call StrBuf destructors
git-svn-id: svn://svn.cc65.org/cc65/trunk@1415 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-29 21:15:02 +00:00
cuz
e880ac6059 Use the new StrBuf features
git-svn-id: svn://svn.cc65.org/cc65/trunk@1414 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-29 21:13:09 +00:00
cuz
ea50befaac Redoing the pragma stuff
git-svn-id: svn://svn.cc65.org/cc65/trunk@1413 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-29 21:09:47 +00:00
cuz
092f10862e New function SB_Skip
git-svn-id: svn://svn.cc65.org/cc65/trunk@1412 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-29 19:55:38 +00:00
cuz
0e4493f075 Add a user index to class StrBuf
git-svn-id: svn://svn.cc65.org/cc65/trunk@1411 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-29 19:49:55 +00:00
cuz
9464c7dd29 Change the .LOCAL command so that the cheap local symbol prefix is kept.
This allows to create macros with local labels that expand to cheap local
symbols when the macro is expanded.
Tip from Dagan Galarneau <dagan@msd.com>


git-svn-id: svn://svn.cc65.org/cc65/trunk@1405 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-25 21:35:00 +00:00
cuz
ffdc8396c5 Changed a function name
git-svn-id: svn://svn.cc65.org/cc65/trunk@1404 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-25 10:42:42 +00:00
cuz
7215ebd145 Added the __DATE__ and __TIME__ preprocessor macros
git-svn-id: svn://svn.cc65.org/cc65/trunk@1403 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-23 21:37:15 +00:00
cuz
6676e27032 Cosmetic changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@1402 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-23 21:37:01 +00:00
cuz
257005696f Improve type casts for ints.
Allow the second and third operand of the :? operator to be of type int.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1395 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-18 20:14:51 +00:00
cuz
a6fffdf770 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1393 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-16 20:13:05 +00:00
cuz
89b206f046 .BLANK was also broken
git-svn-id: svn://svn.cc65.org/cc65/trunk@1392 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-14 21:05:12 +00:00
cuz
e1d24121e8 The .IFNBLANK command was broken
git-svn-id: svn://svn.cc65.org/cc65/trunk@1391 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-09-14 20:56:37 +00:00
cuz
4b805447b6 Prepare VIC20 startup for different start addresses
git-svn-id: svn://svn.cc65.org/cc65/trunk@1390 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-08-11 15:11:31 +00:00
cuz
4db7198ade AllocIf would overwrite memory if the .IF nesting became too deep.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1389 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-08-11 14:49:42 +00:00
izydorst
b286cdf2b4 fixed error check
git-svn-id: svn://svn.cc65.org/cc65/trunk@1388 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-08-11 14:38:00 +00:00
izydorst
d99ec65e29 cleared warning
git-svn-id: svn://svn.cc65.org/cc65/trunk@1386 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-08-09 18:06:02 +00:00
cuz
f0d89e09bc Added VIC20 port changes from Steve Schmidtke
git-svn-id: svn://svn.cc65.org/cc65/trunk@1376 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-08-07 05:18:13 +00:00
cuz
195feebc00 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1375 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-27 09:55:48 +00:00
cuz
8d8458032d Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1371 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-26 19:27:55 +00:00
cuz
d1d104d7ff Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1367 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-20 08:20:59 +00:00
cuz
02c26efdd3 Replace calls to memset with _bzero if the fill value is zero and -Oi in
effect.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1359 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-16 11:01:51 +00:00
cuz
0921d9c1ee Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1356 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-15 21:00:28 +00:00
izydorst
dc3aa1dfdd integrated VLIR linker into grc
git-svn-id: svn://svn.cc65.org/cc65/trunk@1352 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-12 16:36:05 +00:00
cuz
27cd610d49 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1351 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-12 09:10:02 +00:00
cuz
7c9bf720d8 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1350 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-12 08:45:42 +00:00
cuz
30f4bc52f7 Output the command line for sub-processes when -d is given
git-svn-id: svn://svn.cc65.org/cc65/trunk@1348 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-11 19:46:11 +00:00
cuz
4fd0da1635 Fixed usage output
git-svn-id: svn://svn.cc65.org/cc65/trunk@1347 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-11 19:29:17 +00:00
cuz
02a75f8a74 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@1346 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-11 19:26:05 +00:00
cuz
afb0f66ab7 Removed obsolete version.h file
git-svn-id: svn://svn.cc65.org/cc65/trunk@1344 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-10 21:09:38 +00:00
cuz
f93eb903ba Fixed/worked around a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1343 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-10 21:04:02 +00:00
izydorst
a152fe71c5 support for VLIR structured files when using ca65 only
git-svn-id: svn://svn.cc65.org/cc65/trunk@1340 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-10 18:43:04 +00:00
cuz
0fec0ce4d0 Revoked last change
git-svn-id: svn://svn.cc65.org/cc65/trunk@1333 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-05 21:12:06 +00:00
cuz
750f5e5028 Added a file header
git-svn-id: svn://svn.cc65.org/cc65/trunk@1332 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-07-05 21:11:16 +00:00
cuz
75f57eb1df Make the jump table segment writeable
git-svn-id: svn://svn.cc65.org/cc65/trunk@1327 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-06-23 09:42:00 +00:00
cuz
ad7e08bf56 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1307 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-06-15 12:03:06 +00:00
cuz
a96da498f5 Renamed the functions working with "struct Function".
Fixed a problem with K&R functions: In a function with no return type
specified, the compiler did not allow a simple "return" statement. However,
there was no "void" type at that time, so it was not possible to specify
something else. The solution is to allow omission of a return value in a
K&R function with an implicit int type. Other types or an explicit int is
still checked.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1302 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-06-12 12:12:04 +00:00
cuz
606ecafccd New target: oric atmos
git-svn-id: svn://svn.cc65.org/cc65/trunk@1296 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-06-03 20:14:11 +00:00
cuz
ec0c01728d Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@1293 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-27 09:57:50 +00:00
cuz
21afe25e90 Indirect fastcall functions with no parameters may be called as if it were
cdecl functions, this generates better code.
Remove a small error that caused indirect non fastcall function to always be
handled as variadic, which meant a useless load of the Y register was added.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1292 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-26 11:08:17 +00:00
cuz
ec8ccd24a7 Fixed zero page handling for o65 modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@1287 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-25 15:58:00 +00:00
cuz
effacc8d8b Fix o65 zeropage handling
git-svn-id: svn://svn.cc65.org/cc65/trunk@1286 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-25 15:52:05 +00:00
cuz
67ebea8efa Renamed spawn.c -> spawn-unix.c
Added spawn-amiga.c


git-svn-id: svn://svn.cc65.org/cc65/trunk@1282 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-22 08:30:06 +00:00
cuz
93813611e5 Added JUMPTABLE segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@1281 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-18 21:39:50 +00:00
cuz
b0ceece52a Fixed a bug (offset was not correct if more than one module was used).
Added support for the new simple o65 addressing format.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1280 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-18 21:39:35 +00:00
cuz
3292569a89 One less bug in sizeof ("ABC").
git-svn-id: svn://svn.cc65.org/cc65/trunk@1274 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-16 17:05:36 +00:00
cuz
badef3c8e5 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1269 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-05-02 12:46:03 +00:00
cuz
6ff2aeb8df Bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@1268 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-26 11:09:28 +00:00
cuz
17503f9030 More changes for module support
git-svn-id: svn://svn.cc65.org/cc65/trunk@1267 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-25 20:06:04 +00:00
cuz
6e32cf4b11 Add support for a module id
git-svn-id: svn://svn.cc65.org/cc65/trunk@1266 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-25 18:11:05 +00:00
cuz
1e0b7c15ad Added support for modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@1265 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-25 18:03:17 +00:00
cuz
0ac54f6f22 Add the 'module' target
git-svn-id: svn://svn.cc65.org/cc65/trunk@1264 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-25 05:21:03 +00:00
cuz
dab745e4b1 New target 'module'
git-svn-id: svn://svn.cc65.org/cc65/trunk@1263 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-25 05:14:14 +00:00
cuz
563a3b3579 Add new target 'module'
git-svn-id: svn://svn.cc65.org/cc65/trunk@1262 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-25 05:08:51 +00:00
cuz
0041c3c8ac Added configuration for cc65 modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@1261 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-25 05:07:12 +00:00
cuz
2a921c4498 Export start and size of the ZP memory area
git-svn-id: svn://svn.cc65.org/cc65/trunk@1258 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-23 20:11:36 +00:00
cuz
3f9e7b56ae Support additional o65 attributes.
Add a special ID for the cc65 operating system that is written to the OS
field of the options header.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1254 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-21 20:00:04 +00:00
cuz
1c3e74a148 Add new o65 operating system
git-svn-id: svn://svn.cc65.org/cc65/trunk@1253 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-21 14:30:40 +00:00
cuz
0a68498252 Use cc65 character classification routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@1245 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-20 11:49:53 +00:00
cuz
99de22ffe2 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1242 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-17 18:52:03 +00:00
cuz
3dcb7dba3b Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1240 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-14 19:14:52 +00:00
cuz
c285fe7788 Fixed a message output
git-svn-id: svn://svn.cc65.org/cc65/trunk@1236 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-09 19:04:11 +00:00
cuz
040475613e Fixed an error
git-svn-id: svn://svn.cc65.org/cc65/trunk@1235 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-09 19:00:57 +00:00
cuz
8701a2c8d5 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1234 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 20:05:05 +00:00
cuz
3f503a78e5 New pattern matching module matchpat.[ch]
git-svn-id: svn://svn.cc65.org/cc65/trunk@1233 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 19:55:12 +00:00
cuz
19aa50b7b9 Bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@1231 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 19:08:27 +00:00
cuz
09f288e43d Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1230 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 18:52:47 +00:00
cuz
a8698b30e8 Remove duplicate line feed
git-svn-id: svn://svn.cc65.org/cc65/trunk@1229 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 18:42:44 +00:00
cuz
bcec4ba223 Add --config option to usage
git-svn-id: svn://svn.cc65.org/cc65/trunk@1227 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 18:39:51 +00:00
cuz
3bf4a3a735 Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@1226 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 18:35:58 +00:00
cuz
e0d9f2817e Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@1225 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-08 18:31:25 +00:00
cuz
569c0f451f New plugin stdio
git-svn-id: svn://svn.cc65.org/cc65/trunk@1224 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-07 20:52:04 +00:00
cuz
77308fe20f Working on the plugins
git-svn-id: svn://svn.cc65.org/cc65/trunk@1223 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-07 20:39:35 +00:00
cuz
58b5779f35 Working on the plugins
git-svn-id: svn://svn.cc65.org/cc65/trunk@1222 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-07 20:00:39 +00:00
cuz
6c3720686b First test plugin
git-svn-id: svn://svn.cc65.org/cc65/trunk@1221 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-07 13:42:45 +00:00
cuz
9abe1e62e7 Working on the plugin interface
git-svn-id: svn://svn.cc65.org/cc65/trunk@1220 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-06 22:11:09 +00:00
cuz
4a4e24623b Add info about the boolxx functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@1216 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-06 15:06:03 +00:00
cuz
c6fe12ef6b Fixed a code generation bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1215 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-06 14:51:27 +00:00
cuz
2a7a410532 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1213 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-01 17:55:22 +00:00
cuz
d17936488c Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1212 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-04-01 17:42:24 +00:00
cuz
7b89ebcecb Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1211 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-31 20:46:53 +00:00
cuz
56caf8f80d Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@1210 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-30 22:04:40 +00:00
cuz
febf56a10b First import
git-svn-id: svn://svn.cc65.org/cc65/trunk@1209 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-30 16:43:27 +00:00
cuz
a07e05beb8 Include name of errorneous symbol in error message
git-svn-id: svn://svn.cc65.org/cc65/trunk@1203 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-24 13:04:24 +00:00
cuz
83e73742c8 Prepare for separate ASM name in symbol table entry
git-svn-id: svn://svn.cc65.org/cc65/trunk@1202 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-18 20:04:03 +00:00
cuz
5bdb19f63c Attribute work
git-svn-id: svn://svn.cc65.org/cc65/trunk@1201 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-18 06:05:04 +00:00
cuz
cf23f0937c Don't print a zero offset in labels
git-svn-id: svn://svn.cc65.org/cc65/trunk@1197 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-17 14:32:19 +00:00
cuz
05753557ce Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@1196 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-17 10:58:07 +00:00
cuz
1b60396980 Use CHECK instead of assert
git-svn-id: svn://svn.cc65.org/cc65/trunk@1195 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-16 20:45:41 +00:00
cuz
6628389d85 Use a new specialized multiply routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@1194 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-16 20:28:06 +00:00
cuz
486640200b Several minor changes and fixes
git-svn-id: svn://svn.cc65.org/cc65/trunk@1192 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-16 14:11:15 +00:00
cuz
0655cac6a6 Use MakeHexArg, replace STX and STY by STZ if possible
git-svn-id: svn://svn.cc65.org/cc65/trunk@1191 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-16 10:24:55 +00:00
cuz
1118dd1237 Tracking zero page locations
git-svn-id: svn://svn.cc65.org/cc65/trunk@1190 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-15 06:09:59 +00:00
cuz
7639643144 Use CTNone as default
git-svn-id: svn://svn.cc65.org/cc65/trunk@1189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-12 19:30:45 +00:00
cuz
0a9324d9c6 Working on the register tracking
git-svn-id: svn://svn.cc65.org/cc65/trunk@1188 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-11 21:27:01 +00:00
cuz
f38852df82 First support for STZ
git-svn-id: svn://svn.cc65.org/cc65/trunk@1187 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-11 06:29:54 +00:00
cuz
d814a9a6fb Removed old cruft
git-svn-id: svn://svn.cc65.org/cc65/trunk@1186 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-10 21:28:55 +00:00
cuz
64ad5e8031 Add 65C02 specific optimization: Use TSB/TRB
git-svn-id: svn://svn.cc65.org/cc65/trunk@1185 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-10 21:23:23 +00:00
cuz
0355c34199 Fixed problems with incomplete types (structs and arrays) that could cause
internal compiler errors in several places.
An old cc65 extension (variables of type void) was broken and did no longer
work. Fixed that.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1184 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-10 20:44:58 +00:00
cuz
9941f3d84a The last patch did not work correctly in call cases - fix that
git-svn-id: svn://svn.cc65.org/cc65/trunk@1183 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-10 14:34:20 +00:00
cuz
0b06db99d5 Local variables of incomplete types could be declared
git-svn-id: svn://svn.cc65.org/cc65/trunk@1171 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-07 20:59:43 +00:00
cuz
17e86356c2 Ignore lunix.inc
git-svn-id: svn://svn.cc65.org/cc65/trunk@1170 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-06 07:57:22 +00:00
cuz
3d838849da Fixed an error in struct assignment
git-svn-id: svn://svn.cc65.org/cc65/trunk@1169 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-06 07:56:33 +00:00
cuz
92644b226c Last fix was not correct according to the standard
git-svn-id: svn://svn.cc65.org/cc65/trunk@1168 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-06 07:41:22 +00:00
cuz
e9b0009f97 Bug fixed: The preprocessor # operator did not work correctly with string arguments
git-svn-id: svn://svn.cc65.org/cc65/trunk@1167 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-06 07:35:20 +00:00
cuz
0a4799c975 Fixed several const related bugs
git-svn-id: svn://svn.cc65.org/cc65/trunk@1165 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-06 06:38:48 +00:00
cuz
0f911ef8d4 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@1164 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-03-05 21:17:37 +00:00
cuz
208090ea36 Added .charmap
git-svn-id: svn://svn.cc65.org/cc65/trunk@1163 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-18 09:11:57 +00:00
cuz
3b5808788b Add #pragma charmap()
Cosmetical changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1162 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-18 08:40:11 +00:00
cuz
a54cd59e1f Allow to set character translations at compile time
git-svn-id: svn://svn.cc65.org/cc65/trunk@1160 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-18 08:20:18 +00:00
cuz
621424788e Updated PETSCII mappings
git-svn-id: svn://svn.cc65.org/cc65/trunk@1159 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-14 21:43:50 +00:00
cuz
2d96df46f1 Add new feature "leading_dot_in_identifiers".
git-svn-id: svn://svn.cc65.org/cc65/trunk@1156 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-14 10:05:51 +00:00
cuz
6126672784 Bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@1155 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-14 08:44:57 +00:00
cuz
164310971c Replace staxspidx if possible
git-svn-id: svn://svn.cc65.org/cc65/trunk@1153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-13 11:42:56 +00:00
cuz
18b591e268 Better code for compares
git-svn-id: svn://svn.cc65.org/cc65/trunk@1152 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-13 10:42:56 +00:00
cuz
b8c4dc9b06 Add code size factor for optimizer routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@1151 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-12 23:02:58 +00:00
cuz
08443d5e7a Better code for compares
git-svn-id: svn://svn.cc65.org/cc65/trunk@1150 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-12 20:40:05 +00:00
cuz
90fc74e835 Correct the END value for a segment so that it shows the last address in
use by this segment, not the start of the following one.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1148 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-02-06 13:36:25 +00:00
cuz
82fb1d9b78 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1145 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-01-15 20:23:35 +00:00
cuz
6b654255ba Allow comments inside of macro calls that are spread over more than one line
git-svn-id: svn://svn.cc65.org/cc65/trunk@1141 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-12-12 21:45:05 +00:00
cuz
5f8c0269d6 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1137 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-12-10 18:01:53 +00:00
cpg
ffab34bdc8 set atari start address to (very conservative) $2E00; the previous
value didn't work with rs232 drivers loaded


git-svn-id: svn://svn.cc65.org/cc65/trunk@1134 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-12-09 23:49:24 +00:00
izydorst
e0c27701d0 LUnix support tuning - plain ASCII and changed imports list
git-svn-id: svn://svn.cc65.org/cc65/trunk@1128 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-12-02 12:50:07 +00:00
cuz
90ca5c1af9 Added o65 symbol export capability
git-svn-id: svn://svn.cc65.org/cc65/trunk@1127 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-12-01 17:14:12 +00:00
cuz
ebbd68673b Added/completed/debugged o65 support for Lunix
git-svn-id: svn://svn.cc65.org/cc65/trunk@1126 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-12-01 13:34:51 +00:00
cuz
2de4a26251 Added SBC optimizations suggested by Piotr Fusik
git-svn-id: svn://svn.cc65.org/cc65/trunk@1123 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-11-17 11:31:57 +00:00
cuz
b8facd7f1e Added info for more runtime routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@1122 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-11-17 11:27:48 +00:00
cuz
258133cb0e Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1112 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-11-12 14:20:56 +00:00
cuz
465d208b2b Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1110 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-11-08 09:15:58 +00:00
cuz
88b7d6d3bb Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@1107 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-11-07 10:34:57 +00:00
cuz
161c916a83 Added info for tsteax and utsteax
git-svn-id: svn://svn.cc65.org/cc65/trunk@1106 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-11-07 10:33:14 +00:00
cuz
940fba4d54 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1105 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-11-07 10:32:51 +00:00
cuz
99ddd22dc8 Changed cfg to account for the NMI handler in connection with the C128 banking.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1084 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-25 18:52:38 +00:00
cuz
62314aeac9 Fix a problem where the linker tries to print a NULL pointer if there is a
problem with the builtin configuration that is used.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-25 18:51:49 +00:00
cuz
426bea8c19 Use xsprintf
git-svn-id: svn://svn.cc65.org/cc65/trunk@1078 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-25 11:07:06 +00:00
cuz
d796de8109 Use a long for the offset of static variables, so negative offsets do work
(even if this is not standard compliant).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1077 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-25 10:49:51 +00:00
cuz
3c90e33414 Working on the optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@1069 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-21 13:53:20 +00:00
cuz
b3f2a6b35c Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@1065 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 21:45:37 +00:00
cuz
92a4c51753 Fixed some bugs
git-svn-id: svn://svn.cc65.org/cc65/trunk@1064 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 21:01:24 +00:00
cuz
c4627941e8 Cleanup, more 65c02 code
git-svn-id: svn://svn.cc65.org/cc65/trunk@1063 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 20:45:24 +00:00
cuz
b4393c9ac6 Use 125 bytes as range for short branches
git-svn-id: svn://svn.cc65.org/cc65/trunk@1062 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 19:24:18 +00:00
cuz
21c6e1badb Extend an optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@1061 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 19:23:10 +00:00
cuz
564fbbe448 New function RegAXUsed
git-svn-id: svn://svn.cc65.org/cc65/trunk@1060 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 19:21:40 +00:00
cuz
1366b6cbea Added first provisions for a code size factor check in the optimizer
git-svn-id: svn://svn.cc65.org/cc65/trunk@1059 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 19:21:09 +00:00
cuz
8d02f9a9b3 Added a new CS_RangeHasLabel function
git-svn-id: svn://svn.cc65.org/cc65/trunk@1058 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 19:20:14 +00:00
cuz
86a90e463d Remove some 65C02 code generation that is now in the backend.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1057 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-18 19:10:24 +00:00
cuz
43530d1604 Check for shift count zero
git-svn-id: svn://svn.cc65.org/cc65/trunk@1055 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-17 21:46:27 +00:00
cuz
2435aa63b5 Added 65C02 specific optimizations.
Make two runs over the code when generating register info to get info for
backward jumps right.


git-svn-id: svn://svn.cc65.org/cc65/trunk@1049 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-13 12:21:46 +00:00
cuz
1483fa741a Small change to make line info more exact
git-svn-id: svn://svn.cc65.org/cc65/trunk@1048 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-13 09:20:26 +00:00
cuz
0fcbb73439 Use a function pointer instead of a flag
git-svn-id: svn://svn.cc65.org/cc65/trunk@1046 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-12 18:21:56 +00:00
cuz
24a70bbcce Added a missing const
git-svn-id: svn://svn.cc65.org/cc65/trunk@1045 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-12 18:21:43 +00:00
cuz
5f577c4260 Added another optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@1044 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-12 09:06:42 +00:00
cuz
9552efc1e4 More work to make user asm labels work
git-svn-id: svn://svn.cc65.org/cc65/trunk@1043 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-12 07:58:11 +00:00
cuz
b892d4b3d3 Remove an unused function
git-svn-id: svn://svn.cc65.org/cc65/trunk@1042 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 22:02:00 +00:00
cuz
799459fdd5 Allow labels in user supplied asm statements
git-svn-id: svn://svn.cc65.org/cc65/trunk@1041 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 22:01:47 +00:00
cuz
de7da529f0 Fixed problems with the inline macros
git-svn-id: svn://svn.cc65.org/cc65/trunk@1040 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 21:54:25 +00:00
cuz
46209118b1 The longbranch macros did not work with numeric addresses
git-svn-id: svn://svn.cc65.org/cc65/trunk@1039 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 20:06:01 +00:00
cuz
f0ed4af252 Add a missing type in range check
git-svn-id: svn://svn.cc65.org/cc65/trunk@1038 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 19:58:16 +00:00
cuz
ffd9db8b61 Another signedness fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@1037 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 14:53:55 +00:00
cuz
3277ca7880 Fixed another signedness problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@1036 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 14:50:10 +00:00
cuz
6a01347d6c Last change fixed the wrong parameter
git-svn-id: svn://svn.cc65.org/cc65/trunk@1035 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 14:45:59 +00:00
cuz
ebfed0b5df Fixed a signedness problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@1034 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 14:42:03 +00:00
cuz
1e78c82d9b Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1033 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 14:38:46 +00:00
cuz
76f0c7c05e Comment out unused code
git-svn-id: svn://svn.cc65.org/cc65/trunk@1031 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 13:48:30 +00:00
cuz
e17b0a0aac Don't run into an internal error in case of a duplicate switch label.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1029 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 13:45:46 +00:00
cuz
8546ab22cc Free the tree after use
git-svn-id: svn://svn.cc65.org/cc65/trunk@1028 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 13:39:17 +00:00
cuz
5e8ab3819d Bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@1025 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 13:16:46 +00:00
cuz
e17ab75ab3 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1023 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 09:52:02 +00:00
cuz
41d2cc8f91 Rewrote the switch statement
git-svn-id: svn://svn.cc65.org/cc65/trunk@1021 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 08:02:03 +00:00
cuz
4fb253cef0 Track sreg in OptDecouple
git-svn-id: svn://svn.cc65.org/cc65/trunk@1019 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-11 07:01:16 +00:00
cuz
88dfee5642 Module breakup
git-svn-id: svn://svn.cc65.org/cc65/trunk@1017 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-09 09:44:39 +00:00
cuz
0fdf581d06 Added special multiplication routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@1012 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-04 21:34:14 +00:00
cuz
560ac0ac43 Cosmetic changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@1011 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-04 21:15:56 +00:00
cuz
9c4b9f19dc Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@1010 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-04 21:15:43 +00:00
cuz
0c09cc7242 Optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@1009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-04 11:34:18 +00:00
cuz
a497075f78 Reordered usage output
git-svn-id: svn://svn.cc65.org/cc65/trunk@1002 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-02 19:01:00 +00:00
cuz
8a53f3667c Handle intermediate access to local variables in the stack op optimizations.
git-svn-id: svn://svn.cc65.org/cc65/trunk@994 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-02 10:55:04 +00:00
cuz
b08adf831d More stack op optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@991 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-01 19:40:01 +00:00
cuz
ab692b8de8 Fixed a bug, added info for more runtime routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@989 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-10-01 15:22:48 +00:00
cuz
91dac51780 Use __attribute ((unused)) instead of -Wno-unused-parameter
git-svn-id: svn://svn.cc65.org/cc65/trunk@988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-30 22:19:39 +00:00
cuz
453a8b704f Used __attribute ((unused)) instead of -Wno-unused-parameter
git-svn-id: svn://svn.cc65.org/cc65/trunk@987 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-30 22:04:19 +00:00
cuz
c8415fc17c More source splitting.
Remove the -Wno-unused-parameter in favour of __atribute__((unused)).


git-svn-id: svn://svn.cc65.org/cc65/trunk@986 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-30 21:56:45 +00:00
cuz
0a6895ca05 Working on optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@985 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 20:34:31 +00:00
cuz
3c2b118dae Readded size optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@984 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 16:59:29 +00:00
cuz
62e48d9fd9 More splitting
git-svn-id: svn://svn.cc65.org/cc65/trunk@983 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 14:55:40 +00:00
cuz
9c24d729ae Added optimization statistics
git-svn-id: svn://svn.cc65.org/cc65/trunk@982 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 12:17:36 +00:00
cuz
21111ba235 Reordered/splitted the optimization module
git-svn-id: svn://svn.cc65.org/cc65/trunk@981 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-29 11:09:25 +00:00
cuz
2d7634aa6b Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@979 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-27 17:09:10 +00:00
cuz
371fcf48da Added AUTO_COLLECTION_INITIALIZER
git-svn-id: svn://svn.cc65.org/cc65/trunk@977 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-27 05:54:40 +00:00
cuz
3752afa685 Check for an additional error condition
git-svn-id: svn://svn.cc65.org/cc65/trunk@976 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-26 18:43:37 +00:00
cuz
4c87acbcc2 Command line options cleanup
git-svn-id: svn://svn.cc65.org/cc65/trunk@974 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-26 17:39:13 +00:00
cuz
e0e1515a72 Added new command line options, one bug fixed
git-svn-id: svn://svn.cc65.org/cc65/trunk@973 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-26 17:38:54 +00:00
cuz
42326113cb More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@971 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 20:37:58 +00:00
cuz
8d0dfb5b41 More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@970 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 12:34:34 +00:00
cuz
9b9508cbd8 Bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@969 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 10:34:29 +00:00
cuz
5d0a52b7ac Finished indirect function calls.
Debugged zero page location tracking.


git-svn-id: svn://svn.cc65.org/cc65/trunk@968 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-25 10:30:48 +00:00
cuz
f4fbbc3dcc Track usage of the sreg and several other zero page registers and remove
unused stores into these registers.
Because of this, the old code using regsave does no longer work. Started
to rewrite it.


git-svn-id: svn://svn.cc65.org/cc65/trunk@966 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-24 22:36:35 +00:00
cuz
f28be6d657 Collect more info on zp registers
git-svn-id: svn://svn.cc65.org/cc65/trunk@965 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-23 09:20:55 +00:00
cuz
a6aa5512d5 Generate info about zp register usage
git-svn-id: svn://svn.cc65.org/cc65/trunk@964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 21:52:50 +00:00
cuz
51b8bd4046 Extend usage information
git-svn-id: svn://svn.cc65.org/cc65/trunk@962 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 19:34:57 +00:00
cuz
f3b401cd21 Use X instead of Y register
git-svn-id: svn://svn.cc65.org/cc65/trunk@961 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 13:49:23 +00:00
cuz
fa1f814be5 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@960 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-21 13:48:55 +00:00
cuz
d694b9e88a Added a peephole optimization step for global array accesses
git-svn-id: svn://svn.cc65.org/cc65/trunk@957 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-20 19:47:32 +00:00
cuz
afb63ff31c Add character RAM
git-svn-id: svn://svn.cc65.org/cc65/trunk@953 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-20 09:52:28 +00:00
cuz
97af941462 Add IRQ function table
git-svn-id: svn://svn.cc65.org/cc65/trunk@945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-19 08:23:10 +00:00
cuz
95551a2fd1 Fixed a minor problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@942 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-16 20:48:22 +00:00
cuz
0f4acb37c6 Added text tables
git-svn-id: svn://svn.cc65.org/cc65/trunk@941 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-16 18:16:09 +00:00
cuz
1a65e30fa0 Fixed a few warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@938 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 13:36:59 +00:00
cuz
7c67a35771 Fixed a few warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@937 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 13:11:41 +00:00
cuz
8f057fd84d Fixed a few warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@936 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 12:13:33 +00:00
cuz
0b5c5e2e36 Fixed a few compiler warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@935 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 12:00:43 +00:00
cuz
e67f4dcbd6 Enable even more warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@934 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 11:59:30 +00:00
cuz
c3cb057407 Check for sign problems in compares
git-svn-id: svn://svn.cc65.org/cc65/trunk@932 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 11:51:08 +00:00
cuz
02be846175 Fix signed/unsigned comparisons
git-svn-id: svn://svn.cc65.org/cc65/trunk@931 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-15 11:39:07 +00:00
cuz
295d853b89 Add stacksize symbol
git-svn-id: svn://svn.cc65.org/cc65/trunk@928 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 21:19:48 +00:00
cuz
2760fbd5dc Adjust sizes, define the video RAM
git-svn-id: svn://svn.cc65.org/cc65/trunk@922 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-14 16:48:41 +00:00
cuz
6be0510138 Added the CBM510 as a new target system
git-svn-id: svn://svn.cc65.org/cc65/trunk@910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 19:49:27 +00:00
cuz
3ab5a002df Added the Commdore 510 target system
git-svn-id: svn://svn.cc65.org/cc65/trunk@909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 19:44:43 +00:00
cuz
fac003f477 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@902 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 15:29:59 +00:00
cuz
358578d417 Add IRQ table
git-svn-id: svn://svn.cc65.org/cc65/trunk@901 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-13 15:29:45 +00:00
cuz
c322febd66 Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@896 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-12 18:20:42 +00:00
cuz
1a39515769 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@895 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-12 18:20:30 +00:00
cuz
23fbf3ff2a Adding functionality to StrBuf
git-svn-id: svn://svn.cc65.org/cc65/trunk@885 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 20:49:20 +00:00
cuz
c090f90172 Use a string buffer instead of the old implementation
git-svn-id: svn://svn.cc65.org/cc65/trunk@883 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 13:23:54 +00:00
cuz
c04e8a90e4 More string buffer work
git-svn-id: svn://svn.cc65.org/cc65/trunk@882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 13:23:16 +00:00
cuz
2485259a93 New strbuf module
git-svn-id: svn://svn.cc65.org/cc65/trunk@881 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 10:24:16 +00:00
cuz
56b8ead112 Move inline asm parsing into a separate module
git-svn-id: svn://svn.cc65.org/cc65/trunk@880 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 09:33:06 +00:00
cuz
bdf212b311 Added copyright notice
git-svn-id: svn://svn.cc65.org/cc65/trunk@879 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-09 09:26:46 +00:00
cuz
3e887bd9dd Flag labels in the map file exports list
git-svn-id: svn://svn.cc65.org/cc65/trunk@877 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 22:09:30 +00:00
cuz
cd53882eed Add the label/equate bit to the exports and debug symbols
git-svn-id: svn://svn.cc65.org/cc65/trunk@876 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 21:08:20 +00:00
cuz
522ddabc35 Add new defines for export usage
git-svn-id: svn://svn.cc65.org/cc65/trunk@875 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 20:51:33 +00:00
cuz
d799cc283f Add special routines for processing the boolean || and && operators in
preprocessor mode to work around limitations in the existing ones (constant
expressions are not detected).


git-svn-id: svn://svn.cc65.org/cc65/trunk@864 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-08 13:59:32 +00:00
cuz
84ddce0474 Cosmetic change
git-svn-id: svn://svn.cc65.org/cc65/trunk@861 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-07 21:42:40 +00:00
cuz
5db55826f0 Removed an invalid data access.
Check nested #ifs for overflow.
Lots of cleanups and rewriting of code sections.
Streamlined and extended #if stack handling.
Added #elif preprocessor directive.


git-svn-id: svn://svn.cc65.org/cc65/trunk@859 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-07 09:54:33 +00:00
cuz
f3df91260a Minor speedup
git-svn-id: svn://svn.cc65.org/cc65/trunk@858 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-07 07:04:54 +00:00
cuz
e1b0251f04 Renamed some functions for better readbility.
Add a binary search for preprocessor tokens (instead of the old linear one)
to speed up the compiler.


git-svn-id: svn://svn.cc65.org/cc65/trunk@857 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-06 10:17:52 +00:00
cuz
bf47ac26c9 Working
git-svn-id: svn://svn.cc65.org/cc65/trunk@856 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-06 10:16:41 +00:00
cuz
3c2dafcb1f Added .lclintrc
git-svn-id: svn://svn.cc65.org/cc65/trunk@855 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-06 09:43:53 +00:00
cuz
b02fbce931 Changed an error message
git-svn-id: svn://svn.cc65.org/cc65/trunk@854 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-09-01 19:13:36 +00:00
cuz
4ce28c0cd5 Fixed problem with forward references in unnamed labels
git-svn-id: svn://svn.cc65.org/cc65/trunk@853 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-30 08:17:06 +00:00
cuz
b3af17126c Allow access to the global segments. Place ".dbg file" statements into the
global text segments so they will appear before any of the ".dbg line"
statements emitted later.


git-svn-id: svn://svn.cc65.org/cc65/trunk@852 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-24 15:03:10 +00:00
izydorst
9346c3fbac info about c1541 in docs, lowered highest available address to $6000 due to
posiblity of overwriting C stack by drawing/copying to screen backbuffer


git-svn-id: svn://svn.cc65.org/cc65/trunk@847 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-15 16:08:15 +00:00
cuz
2ff141a73f Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@845 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-13 16:01:18 +00:00
cuz
7da0da3cad More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@842 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 22:50:00 +00:00
cuz
185bb4875f Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@841 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 22:22:58 +00:00
cuz
adb0ac070a More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@840 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 22:09:48 +00:00
cuz
0529c2044a More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@839 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 21:19:50 +00:00
cuz
24403e151e More optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@838 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-05 20:37:14 +00:00
cuz
59a94124a1 More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@837 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 07:34:40 +00:00
cuz
7cf676d40c More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@836 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 06:45:38 +00:00
cuz
254948fcfe Minor changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@835 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 06:45:30 +00:00
cuz
eaf1304b71 Make flag constants unsigned
git-svn-id: svn://svn.cc65.org/cc65/trunk@834 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-08-03 06:45:22 +00:00
cuz
81520a5824 Make --list-opt-steps exclusive
git-svn-id: svn://svn.cc65.org/cc65/trunk@833 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-30 21:40:32 +00:00
cuz
b4010bae8b Fixed several bugs
git-svn-id: svn://svn.cc65.org/cc65/trunk@832 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-30 19:33:52 +00:00
cuz
d341565ddc Allow enabling/disabline optimizer steps by file
git-svn-id: svn://svn.cc65.org/cc65/trunk@831 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-29 20:38:15 +00:00
cuz
750cf445f7 Added IsControl
git-svn-id: svn://svn.cc65.org/cc65/trunk@830 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-29 20:36:19 +00:00
cuz
c51a706830 Simplify code generation
git-svn-id: svn://svn.cc65.org/cc65/trunk@827 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-29 09:07:43 +00:00
cuz
1cfec2492e Optimizations, cleanup in codegen
git-svn-id: svn://svn.cc65.org/cc65/trunk@826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-26 20:08:28 +00:00
cuz
bbebbe3a1b More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@824 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-26 06:40:06 +00:00
cuz
58592116ac Better code for > compares
git-svn-id: svn://svn.cc65.org/cc65/trunk@823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-26 06:10:10 +00:00
cuz
d604ed5e3f More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-25 21:51:40 +00:00
cuz
c2e45ea24d Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@819 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-25 16:15:47 +00:00
cuz
cd358107d3 Free register info
git-svn-id: svn://svn.cc65.org/cc65/trunk@818 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-25 06:59:27 +00:00
cuz
8cd7b15c8b Squashed one more bug in the switch statement
git-svn-id: svn://svn.cc65.org/cc65/trunk@816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:19:03 +00:00
cuz
0b08eb0e68 More register tracking
git-svn-id: svn://svn.cc65.org/cc65/trunk@815 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:13:10 +00:00
cuz
d982999f3e Fixed another bug in CascadeSwitch
git-svn-id: svn://svn.cc65.org/cc65/trunk@814 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:12:53 +00:00
cuz
c5ccad1fc7 Fixed a bug in CascadeSwitch
git-svn-id: svn://svn.cc65.org/cc65/trunk@813 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 20:08:58 +00:00
cuz
05eb03b32f Better register tracking in the optimizer
git-svn-id: svn://svn.cc65.org/cc65/trunk@812 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-24 17:07:33 +00:00
cuz
f249ae345e More renaming. Remove the case label limit by using a collection to store
the switch entries.


git-svn-id: svn://svn.cc65.org/cc65/trunk@807 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 21:53:17 +00:00
cuz
c571214513 More renaming
git-svn-id: svn://svn.cc65.org/cc65/trunk@806 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 21:29:21 +00:00
cuz
cc83744882 Renamed struct expent
git-svn-id: svn://svn.cc65.org/cc65/trunk@805 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 21:24:19 +00:00
cuz
cbdc651884 Added more optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@804 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 20:13:33 +00:00
cuz
e370e447f6 Fixed a while loop bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@803 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 17:18:07 +00:00
cuz
c1c402c6ba Fixed a bug in the for loop optimization applied earlier
git-svn-id: svn://svn.cc65.org/cc65/trunk@800 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 16:46:43 +00:00
cuz
6c34eeb93d Move the increment code of a for loop after the loop body.
git-svn-id: svn://svn.cc65.org/cc65/trunk@799 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 12:50:38 +00:00
cuz
db707db0f1 Added CollMoveMultiple
git-svn-id: svn://svn.cc65.org/cc65/trunk@798 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 12:42:16 +00:00
cuz
5c46ebee60 Added CollMove
git-svn-id: svn://svn.cc65.org/cc65/trunk@797 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-17 11:54:30 +00:00
cuz
2266d11fec Remove transfer insns if possible
git-svn-id: svn://svn.cc65.org/cc65/trunk@795 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-16 18:48:04 +00:00
cuz
6a09064842 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@794 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-16 18:47:19 +00:00
cuz
f98db88f36 Trace register usage, remove duplicate loads
git-svn-id: svn://svn.cc65.org/cc65/trunk@793 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-16 16:32:14 +00:00
cuz
38f076a59e Fixed type compare for functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@791 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-15 16:41:00 +00:00
cuz
36131c00d0 Work around a problem with the #if hack in the preprocessor
git-svn-id: svn://svn.cc65.org/cc65/trunk@787 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 15:56:17 +00:00
cuz
6dcb3b662e Avoid a copy of the line contents
git-svn-id: svn://svn.cc65.org/cc65/trunk@786 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 15:55:52 +00:00
cuz
ac6fdcc55b Add dbginfo module
git-svn-id: svn://svn.cc65.org/cc65/trunk@782 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 14:44:07 +00:00
cuz
49376daf0d Go back to a working codegen.c
git-svn-id: svn://svn.cc65.org/cc65/trunk@779 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-07-14 14:31:50 +00:00
cuz
6a988b4859 Fixed multi line macro bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@772 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-24 16:08:35 +00:00
cuz
fe2cd767b2 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@771 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-04 12:27:16 +00:00
cuz
c1da7b8859 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@770 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-04 12:26:53 +00:00
cuz
d27bfe8a7b More renaming
git-svn-id: svn://svn.cc65.org/cc65/trunk@769 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-06-03 09:10:46 +00:00
cuz
f42300ef62 Lots of renaming
git-svn-id: svn://svn.cc65.org/cc65/trunk@768 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-31 21:08:49 +00:00
cuz
9ce1e413e4 Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@767 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-29 18:11:06 +00:00
cuz
a9674c071a Working on the backend
git-svn-id: svn://svn.cc65.org/cc65/trunk@766 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-29 07:41:08 +00:00
cuz
3889a2bec9 Added dbg file generation
git-svn-id: svn://svn.cc65.org/cc65/trunk@764 b7a2c559-68d2-44c3-8de9-860c34a00d81
2001-05-29 07:39:46 +00:00