1
0
mirror of https://github.com/cc65/cc65.git synced 2024-07-09 01:28:58 +00:00
Commit Graph

1653 Commits

Author SHA1 Message Date
cuz
a7476505a8 Added the "none" CPU.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3592 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-26 12:46:44 +00:00
cuz
e016695787 Added "none" CPU.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3591 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-26 12:44:25 +00:00
cuz
ddddb2acb5 Added check for gcc
git-svn-id: svn://svn.cc65.org/cc65/trunk@3590 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-26 12:44:15 +00:00
cuz
1bc775d21d Fixed the copyright message
git-svn-id: svn://svn.cc65.org/cc65/trunk@3588 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-24 20:05:37 +00:00
cuz
1f6276d21e Added a new option --macpack-dir that allows to load the macro packages
from files instead of using the builtin ones.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3587 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-24 20:05:08 +00:00
cuz
c83176e151 Fixed a wrong comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3585 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-24 19:15:29 +00:00
cuz
805982dc8a Move the macro package sources into own files
git-svn-id: svn://svn.cc65.org/cc65/trunk@3583 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-22 17:05:03 +00:00
cuz
9a2e6ab210 Add new options to usage info
git-svn-id: svn://svn.cc65.org/cc65/trunk@3578 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-12 21:31:06 +00:00
cuz
6e059fe547 Added new -Wa and -Wl options to pass options to the linker and assembler
git-svn-id: svn://svn.cc65.org/cc65/trunk@3577 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-12 21:27:39 +00:00
cpg
ee816e08e5 add __RESERVED_MEMORY__
git-svn-id: svn://svn.cc65.org/cc65/trunk@3570 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-08-07 15:49:50 +00:00
cuz
209954a4a2 Fixed a bug in the last change
git-svn-id: svn://svn.cc65.org/cc65/trunk@3563 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-31 19:56:04 +00:00
cuz
23f47e26d1 Fixed handling of expressions in .word and .addr instructions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3562 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-31 12:25:20 +00:00
cpg
fe645102e4 add TRAILER; calculate RAM size depending on start address
git-svn-id: svn://svn.cc65.org/cc65/trunk@3560 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-29 21:16:38 +00:00
cuz
b6ac59be03 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3558 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-29 20:33:25 +00:00
cuz
33e86250ea Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3557 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-28 22:52:59 +00:00
cuz
aa7cdf30de Added simple expressions for the config file
git-svn-id: svn://svn.cc65.org/cc65/trunk@3556 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-28 19:50:22 +00:00
cuz
f02698b66d Minor changes to the variadic macro feature. Added a copyright notice to
the file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3554 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-26 22:30:35 +00:00
cuz
1d5c1b1983 Added symbol definitions on the command line and weak symbols in the config.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3552 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-26 20:42:30 +00:00
cuz
1aeeffdc52 Added C99 variadic macros
git-svn-id: svn://svn.cc65.org/cc65/trunk@3547 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 22:14:41 +00:00
cuz
a45649752f New syntax for symbols
git-svn-id: svn://svn.cc65.org/cc65/trunk@3546 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 21:09:23 +00:00
cpg
7101c646e3 set RAM start address to %S; add STARTADDRESS
git-svn-id: svn://svn.cc65.org/cc65/trunk@3545 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-24 20:57:00 +00:00
cpg
4382eb25c8 add EXTZP segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3534 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-22 22:47:45 +00:00
izydorst
8734e863c2 - do not remove commas from quoted text (Stefan Haubenthal)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3531 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-19 13:05:59 +00:00
cuz
c218639977 Fixed a bug: The compiler aborted with an internal error if a non function
was called as a function after printing the diagnostic.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3526 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-07-17 09:49:34 +00:00
cuz
37873a947f Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3524 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-06-30 20:29:18 +00:00
cuz
0da97c6711 Fixed a bug: Compiling an empty source file led to an internal error.
Changed the lineinfo module to take dynamically allocated string buffers
instead of char*.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3523 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-06-08 11:31:00 +00:00
cuz
71126c8200 Allow empty and comment lines in structs
git-svn-id: svn://svn.cc65.org/cc65/trunk@3519 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-29 11:57:53 +00:00
cuz
412a1300f9 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3513 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-17 12:42:34 +00:00
cuz
b01c0cf2b7 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3511 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-11 13:54:22 +00:00
cuz
945bbe2b50 Added variable symbols using .set
git-svn-id: svn://svn.cc65.org/cc65/trunk@3510 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-11 08:31:42 +00:00
cuz
765dc3442b New .sprintf function
git-svn-id: svn://svn.cc65.org/cc65/trunk@3508 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-10 15:42:32 +00:00
cuz
76d94bc8d9 Added a .IDENT function
git-svn-id: svn://svn.cc65.org/cc65/trunk@3506 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-09 18:57:03 +00:00
cuz
480b61e0bf Added va_copy for gcc version == 2
git-svn-id: svn://svn.cc65.org/cc65/trunk@3505 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-09 11:58:22 +00:00
cuz
a48bbd076d Fixed parameter naming
git-svn-id: svn://svn.cc65.org/cc65/trunk@3504 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-05-08 20:41:10 +00:00
cuz
fa3e713cc7 Interruptor support for all systems.
New HEAP segment.
Both changes by Greg King.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3481 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-21 02:10:56 +00:00
cuz
fcd14f3d14 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3476 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-20 10:37:57 +00:00
cuz
9cd1ef08cc Use "Assertion failed" as default message for .assert if no message was
given.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3474 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-20 09:28:26 +00:00
cuz
3a22d6c1c3 Improve the assertion check
git-svn-id: svn://svn.cc65.org/cc65/trunk@3472 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-20 09:17:04 +00:00
cuz
05ab8714d2 Evaluate .asserts with known conditions in the assembler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3471 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-19 22:03:30 +00:00
cuz
6170017f07 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3458 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-04-14 20:36:50 +00:00
cpg
9e61c50de1 add "define = yes" to LOWCODE, remove it from INIT and CODE
git-svn-id: svn://svn.cc65.org/cc65/trunk@3443 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-31 21:51:48 +00:00
cuz
d194bdd702 Fixed numeric OS ids. Added new OS OPENCBM
git-svn-id: svn://svn.cc65.org/cc65/trunk@3435 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-30 19:28:28 +00:00
cuz
842841a8ad Minor changes requested by Oliver Schmidt
git-svn-id: svn://svn.cc65.org/cc65/trunk@3430 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-30 18:15:59 +00:00
cuz
fe2d8f26ed Added library groups
git-svn-id: svn://svn.cc65.org/cc65/trunk@3420 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-26 16:26:11 +00:00
cuz
98e9934b89 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@3419 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-25 22:43:28 +00:00
cuz
25dd95438f No output when using wstrip
git-svn-id: svn://svn.cc65.org/cc65/trunk@3418 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-25 22:27:39 +00:00
cuz
6b03c250c2 Add the replacement startup file wildargv.obj to the library
git-svn-id: svn://svn.cc65.org/cc65/trunk@3415 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-25 14:04:30 +00:00
cuz
8a6fdb8562 Output the help text to stdout
git-svn-id: svn://svn.cc65.org/cc65/trunk@3414 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-24 20:08:41 +00:00
cuz
137b66ac97 Added the INIT segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3413 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-24 10:52:07 +00:00
cuz
a54556f9f2 Cheap local symbol in a macro .local statement were broken
git-svn-id: svn://svn.cc65.org/cc65/trunk@3412 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-22 20:09:29 +00:00
cuz
6e55cd6fb3 Added extensions for new loadable modules
git-svn-id: svn://svn.cc65.org/cc65/trunk@3411 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-20 09:00:51 +00:00
cuz
bc4b71f565 Allow to remap the character with code zero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3410 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-15 12:13:30 +00:00
cuz
bf9af68173 Fixed a bug and replaced tabs by spaces
git-svn-id: svn://svn.cc65.org/cc65/trunk@3409 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-03-11 13:02:20 +00:00
cuz
46cb3bb2e8 Move the constructor tables into the INIT segment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3403 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-26 09:06:12 +00:00
cuz
34017fb89a Added the new INIT segment to all configs and adjusted formatting.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3402 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-25 07:52:50 +00:00
cuz
531320e242 Add creation time in the header
git-svn-id: svn://svn.cc65.org/cc65/trunk@3390 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-17 17:37:17 +00:00
cuz
0eec7d8a87 More comment handling
git-svn-id: svn://svn.cc65.org/cc65/trunk@3389 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-17 17:26:16 +00:00
cuz
e814c484c3 Added new comment feature
git-svn-id: svn://svn.cc65.org/cc65/trunk@3388 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-16 23:30:05 +00:00
cuz
00b644ad18 Suppress wine debug output
git-svn-id: svn://svn.cc65.org/cc65/trunk@3387 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 11:01:20 +00:00
cuz
26ae91efff Allow numeric OS types in the config file
git-svn-id: svn://svn.cc65.org/cc65/trunk@3386 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-02-14 10:36:23 +00:00
cuz
e8abdea87c In case of memory area overflows, generate a short mapfile if one was
requested. This eases the task of rearranging segments when such an
overflow occurs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3373 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-23 11:19:26 +00:00
cuz
27b5721cf6 Allow a unary +
git-svn-id: svn://svn.cc65.org/cc65/trunk@3371 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-21 12:57:41 +00:00
cuz
c68a75ceb4 Fixed zeropage segment declaration (syntax had changed some time ago).
Added support for exports.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3370 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-21 10:35:50 +00:00
cuz
2d623f00cc Better error message when a file is not found in the FILES section.
Better error messages in case of a wrong section order in the config file.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3369 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-20 07:55:38 +00:00
cuz
5b0ad76cd9 Recoded the last change
git-svn-id: svn://svn.cc65.org/cc65/trunk@3368 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-14 18:52:30 +00:00
cuz
8cd583d591 Fixed a bug (Report from Greg King)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3367 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-14 18:40:33 +00:00
cuz
e06d9d0d84 Fixed a bug (hopefully).
The ArrayRef() does really need a rewrite, now since we have better
expression info.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3364 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 21:17:19 +00:00
cuz
6a1ff58499 Don't treat K&R functions as variadic. The standard (at least the C99 one)
says that passing an invalid number of parameters causes undefined behaviour,
so we don't need to handle that case.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3363 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 21:16:32 +00:00
cuz
5c1bc2d740 Output warnings for implicit int types if std >= C99.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3361 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 18:03:55 +00:00
cuz
9cd0b7705c Fixed a bug: If all output data was discarded (by using file = "" in the
linker config), CheckExports was never called, which in turn meant that
the list of all exports was never built. This caused a crash later when
the linker tried to generate a map file. The solution is to separate the
creation of the exports list and the check for unresolved imports.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3360 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-09 13:16:51 +00:00
cuz
a456e503e4 More CfgName issues.
Use CfgError instead of calling Error directly.
Use dynamically allocated string buffers in the CfgError and CfgWarning
functions.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3359 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 21:38:17 +00:00
cuz
8559581d9f Fixed several places were CfgName was used directly instead of calling
CfgGetName(). The former may be NULL, while the latter maps that to a
string like "builtin config".


git-svn-id: svn://svn.cc65.org/cc65/trunk@3358 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 21:08:59 +00:00
cuz
e128341854 Replace obsolete "wprot" segment type by "ro".
git-svn-id: svn://svn.cc65.org/cc65/trunk@3357 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 21:08:04 +00:00
cuz
83147e5fce New info file statement "asminc" that allows to read in a file containing
symbol values in asm syntax.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3355 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 20:16:57 +00:00
cuz
7774e57eae New segment attribute ALIGN_LOAD. Some cleanup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3353 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-08 13:44:11 +00:00
cuz
1875825e78 New segment APPZP
git-svn-id: svn://svn.cc65.org/cc65/trunk@3352 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-01-06 13:20:23 +00:00
cuz
49d1a47269 Several improvements and a few bug fixes
git-svn-id: svn://svn.cc65.org/cc65/trunk@3339 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-19 22:15:43 +00:00
cuz
218e722b91 Fixes for the Watcom compiler and some general improvements for older
compilers that don't have the va_copy macro.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3338 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-18 14:28:42 +00:00
cuz
ae70828938 Some improvements using the new SB_Printf for string buffers
git-svn-id: svn://svn.cc65.org/cc65/trunk@3335 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:43:52 +00:00
cuz
41ec19b72a Use inttypes.h and the intmax_t/uintmax_t types
git-svn-id: svn://svn.cc65.org/cc65/trunk@3332 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:38:07 +00:00
cuz
3dab55e339 New module inttypes.h
git-svn-id: svn://svn.cc65.org/cc65/trunk@3331 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 22:37:30 +00:00
cuz
0ce95ffe6a Fixed another bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3329 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 20:26:46 +00:00
cuz
5b851fb621 Fixed several bugs
git-svn-id: svn://svn.cc65.org/cc65/trunk@3328 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-16 20:07:49 +00:00
cuz
e43766ea93 Added a basic vsnprintf implementation to work around problems with compilers
that don't have it.
Added SB_VPrintf and SB_Printf as safe replacement for sprintf function
with the output going into a string buffer.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3327 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-12-15 21:23:22 +00:00
cuz
3692fd40da New test optimization
git-svn-id: svn://svn.cc65.org/cc65/trunk@3310 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 21:13:07 +00:00
cuz
9ba5eafedf Optimization step that handles load from *ptr++ if ptr is a char* register
variable.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3309 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 20:52:46 +00:00
cuz
d2c8a754db Handle static functions correctly with %v.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3308 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-27 20:52:06 +00:00
cuz
d46b1a395b Fixed a bug in code generation for left shifts
git-svn-id: svn://svn.cc65.org/cc65/trunk@3296 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-11-23 10:04:34 +00:00
cuz
1cb722ba7d The absolute X indirect addressing mode for the 65C02 CPU was missing.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3266 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 20:20:55 +00:00
cuz
56656eac69 interruptor is now supported by the runtime
git-svn-id: svn://svn.cc65.org/cc65/trunk@3265 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-26 19:46:26 +00:00
cuz
8af1d395df Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3243 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-14 16:24:25 +00:00
cuz
d204e4a1ad Added zilog/intel style hex numbers
git-svn-id: svn://svn.cc65.org/cc65/trunk@3242 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-11 19:01:51 +00:00
cuz
843c183698 Changes for new WINE version
git-svn-id: svn://svn.cc65.org/cc65/trunk@3241 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-11 17:09:56 +00:00
cuz
19e1167b82 Use Line only if available
git-svn-id: svn://svn.cc65.org/cc65/trunk@3238 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-10 10:30:03 +00:00
cuz
340a16e399 The --forget-inc-paths option did not work correctly
git-svn-id: svn://svn.cc65.org/cc65/trunk@3237 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-10 10:19:19 +00:00
cuz
8874a80ddd Fixed a bug in inlined memcpy
git-svn-id: svn://svn.cc65.org/cc65/trunk@3236 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-09 19:09:35 +00:00
cuz
0e0183020d Fixed a escape char const problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@3235 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-09 14:32:27 +00:00
cuz
f962da83c2 Added the builtin config for the lynx game console
git-svn-id: svn://svn.cc65.org/cc65/trunk@3224 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 18:51:37 +00:00
cuz
b2af5120fb Added the lynx target
git-svn-id: svn://svn.cc65.org/cc65/trunk@3218 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 09:23:59 +00:00
cuz
23ef4fa172 Added the lynx target
git-svn-id: svn://svn.cc65.org/cc65/trunk@3217 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-08 09:23:02 +00:00
cuz
856046e41d Added SWEET 16 CPU
git-svn-id: svn://svn.cc65.org/cc65/trunk@3210 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-03 22:10:42 +00:00
cuz
7d0eb0d3ff Added new CPU SWEET16
git-svn-id: svn://svn.cc65.org/cc65/trunk@3208 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-03 21:26:00 +00:00
cuz
7d72f47fe6 Added new CPU SWEET16
git-svn-id: svn://svn.cc65.org/cc65/trunk@3207 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-10-03 21:25:29 +00:00
cuz
e43054905b Removed the shift runtime functions because there calling semantics have been
changed and size optimizations are no longer possible and needed.
Use the UNKNOWN_REGVAL constant instead of -1.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3202 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-28 19:44:17 +00:00
cuz
f2167895cd Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@3200 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 19:05:57 +00:00
cuz
3b58383277 Allow to override CC65_LIB on the command line
git-svn-id: svn://svn.cc65.org/cc65/trunk@3199 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 19:05:49 +00:00
cuz
25c8f27d2f Allow to override CC65_INC on the command line
git-svn-id: svn://svn.cc65.org/cc65/trunk@3198 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 19:04:00 +00:00
cuz
40d01eb4ce Fixed bug with braces in initializer lists
git-svn-id: svn://svn.cc65.org/cc65/trunk@3193 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-23 17:34:03 +00:00
cuz
2414d6cd11 Invalid code was generated for a switch statement with no case labels.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3191 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-22 17:48:23 +00:00
cuz
cfef8e1e0d Renamed __IRQFUNC_xxx -> __INTERRUPTOR_xxx
git-svn-id: svn://svn.cc65.org/cc65/trunk@3189 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:24:59 +00:00
cuz
e6b456a8a6 New condes type interruptor
git-svn-id: svn://svn.cc65.org/cc65/trunk@3188 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:23:57 +00:00
cuz
777dcff9bf New condes type interruptor
git-svn-id: svn://svn.cc65.org/cc65/trunk@3187 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-20 10:15:01 +00:00
cuz
1b3e3633b9 Fixed a C99ism
git-svn-id: svn://svn.cc65.org/cc65/trunk@3183 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-16 14:31:40 +00:00
cuz
06b57e6e7e Introduce a -E flag that activates just the preprocessor.
Use variable sized string buffers for input and macro processing instead
of the fixed buffers used before.
Many changes in the preprocessor to make it more standards compliant (which
it is still not).


git-svn-id: svn://svn.cc65.org/cc65/trunk@3182 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-16 12:42:41 +00:00
cuz
684010abf1 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@3178 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-09-10 09:55:55 +00:00
cuz
d2999d9e7e Fixed the definition of the long branch macros to avoid "Constant expression
expected" errors when the branch target is outside the local scope.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3176 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-16 10:04:09 +00:00
cpg
7c1590b5d5 fix comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@3174 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-04 00:10:55 +00:00
cuz
366d066375 Fixed the last fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@3171 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-02 17:19:52 +00:00
cuz
123677c802 In a function call for all parameters not covered by a prototype, convert
arrays to pointer to first element, and functions to pointer to function.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3169 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-02 16:39:55 +00:00
cuz
dd9ee0ae37 New function PtrConversion
git-svn-id: svn://svn.cc65.org/cc65/trunk@3168 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-08-02 16:37:00 +00:00
cuz
3b8b9704bc Added IsODigit
git-svn-id: svn://svn.cc65.org/cc65/trunk@3167 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-29 20:51:58 +00:00
cuz
1fb5967496 Fixed inline assembler problems with instructions where implicit means
actually accumulator addressing. These went through and caused the
optimizer to behave strangely.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3164 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-18 09:34:52 +00:00
cuz
9b2834ef7e Improve handling of files with foreign newline sequences.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3163 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-18 08:46:12 +00:00
cuz
104f041111 Add dummy return value to avoid a wcc warning
git-svn-id: svn://svn.cc65.org/cc65/trunk@3162 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-17 22:16:02 +00:00
cuz
feec244272 Remove exprnode.obj
git-svn-id: svn://svn.cc65.org/cc65/trunk@3161 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-17 22:15:43 +00:00
cuz
9c0bf14454 Fixed problems with unnamed labels
git-svn-id: svn://svn.cc65.org/cc65/trunk@3160 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-17 22:14:30 +00:00
cuz
764955a915 Make a few params const
git-svn-id: svn://svn.cc65.org/cc65/trunk@3155 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-11 14:06:49 +00:00
cuz
0ba074995c Check for invalid function names before trying to compare the name against
the names of known standard functions.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3154 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-11 13:47:57 +00:00
cuz
725afdee94 Added SB_Compare
git-svn-id: svn://svn.cc65.org/cc65/trunk@3153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-11 11:13:10 +00:00
cuz
1182d4cbd9 A main function not returning an int is not allowed in standard C
git-svn-id: svn://svn.cc65.org/cc65/trunk@3147 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 14:25:48 +00:00
cuz
2c3d5773f3 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3146 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 14:25:03 +00:00
cuz
9df7321d90 Cleanup in ShiftExpr.
Changed GetCodePos to also remember the stack pointer at the given location,
this removes the necessity to manipulate the stack when removing code. Since
CodeMark is now a struct, the API for most asmcode functions has changed.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3145 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 11:30:08 +00:00
cuz
07419b62f8 Changed shift functions, added info about shift runtime functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@3142 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-30 19:18:56 +00:00
cuz
76e31df5f8 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3140 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:48:35 +00:00
cuz
e354d269f6 Remove shifts from kcalc
git-svn-id: svn://svn.cc65.org/cc65/trunk@3139 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:44:50 +00:00
cuz
809d1408ce Move shift expression evaluation into a separate module. More checks and
improvements for shift expressions.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3138 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:44:01 +00:00
cuz
31f85bc23e Renaming and cleanup
git-svn-id: svn://svn.cc65.org/cc65/trunk@3137 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:37:18 +00:00
cuz
e8afc897cf Some renaming
git-svn-id: svn://svn.cc65.org/cc65/trunk@3136 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:35:39 +00:00
cuz
daf8e0d1e6 Added license information preproc.h
git-svn-id: svn://svn.cc65.org/cc65/trunk@3135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:26:27 +00:00
cuz
b2b7006939 Fixed a problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@3134 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-21 22:30:07 +00:00
cuz
13a2927e17 The -A and --ansi switches are gone, together with the __STRICT_ANSI__
predefined macro. Instead there is now a command line option --standard that
allows to set c89, c99 or cc65 as language standard. The compiler defines a
macro __CC65_STD__ that is one of __CC65_STD_C89__, __CC65_STD_C99__ or
__CC65_STD_CC65__ depending on the command line option. Default is cc65 (all
extensions) as before.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3133 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-21 22:22:11 +00:00
cuz
d01687fd82 Removed the undocumented, obsolete and unused OptDisable flagset
git-svn-id: svn://svn.cc65.org/cc65/trunk@3132 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 21:24:47 +00:00
cuz
ca2b070935 Make the -W flag stackable.
New pragmas codesize, optimize and warn.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3130 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 21:05:40 +00:00
cuz
d8279302a9 Make the -O and --codesize options stackable.
Copy the current optimization settings into a code segment on creation.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3129 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 20:29:49 +00:00
cuz
9cb7015055 Inline assembly can now reference C labels with the %g format specifier
git-svn-id: svn://svn.cc65.org/cc65/trunk@3128 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 20:08:01 +00:00
cuz
a3e6fbd21f Some cleanup
git-svn-id: svn://svn.cc65.org/cc65/trunk@3127 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 20:05:54 +00:00
cuz
a3039d57fc Fixed problems on 64 bit platforms and some other sloopyness when working
with the element count of an array.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3120 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 13:03:28 +00:00
cuz
300919d61f Better error messages
git-svn-id: svn://svn.cc65.org/cc65/trunk@3119 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 11:02:05 +00:00
cuz
cb7c50a8ce Fixed a warning
git-svn-id: svn://svn.cc65.org/cc65/trunk@3118 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 10:37:55 +00:00
cuz
d184d938fd Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3117 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-10 08:48:02 +00:00
cuz
573f1818df Check the return code of the submakes (Christian Groessler)
git-svn-id: svn://svn.cc65.org/cc65/trunk@3115 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 19:30:33 +00:00
cuz
975323ece2 Renamed ExprLoad to LoadExpr.
Moved LoadExpr + support functions into a separate module.
Removed obsolete files.
Some cleanup and makefile adjustments.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3114 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 19:25:28 +00:00
cuz
8752f0b2c1 Removed ExprLoad to LoadExpr.
Moved LoadExpr + support functions into a separate module.
Removed obsolete files.
Some cleanup and makefile adjustments.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3113 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 14:12:57 +00:00
cuz
3ac1a08baf Cleaned up the code used for handling jump labels and the label name.
Fixed a problem that caused the optimizer not to detect that flags set by
a load are used, if the use is "hidden" behind an unconditional branch. This
caused the optimizer to remove the load.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3111 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-07 21:16:49 +00:00
cuz
8425d988fe Removed debug code
git-svn-id: svn://svn.cc65.org/cc65/trunk@3110 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 18:36:15 +00:00
cuz
71ed8810c3 Minor change
git-svn-id: svn://svn.cc65.org/cc65/trunk@3109 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 18:36:08 +00:00
cuz
f500a641c5 Added support for floating point constants in the scanner and Primary()
git-svn-id: svn://svn.cc65.org/cc65/trunk@3108 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 15:59:44 +00:00
cuz
9fc71c5e93 Renamed ExprDesc.Val to ExprDesc.IVal. Added an FVal field for a floating
point constant.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3107 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 14:48:59 +00:00
cuz
eb388aa237 The loop code will access the stackpointer directly
git-svn-id: svn://svn.cc65.org/cc65/trunk@3106 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 10:52:32 +00:00
cuz
651c6e5cbf Add predefined type strings for float and double
git-svn-id: svn://svn.cc65.org/cc65/trunk@3105 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 10:49:59 +00:00
cuz
c76e14f9f5 Improved code for or and xor
git-svn-id: svn://svn.cc65.org/cc65/trunk@3102 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 22:10:04 +00:00
cuz
5586527fcc Move the test flags into the Flags bitset of struct ExprDesc
git-svn-id: svn://svn.cc65.org/cc65/trunk@3101 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-05 20:29:47 +00:00
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
cuz
5c63b08d26 New feature missing_char_term
git-svn-id: svn://svn.cc65.org/cc65/trunk@2964 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-29 15:58:34 +00:00
cuz
5f3ed8826f Added an interrupt facility similar to that on the C128 and Plus/4
git-svn-id: svn://svn.cc65.org/cc65/trunk@2956 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-23 21:50:15 +00:00
cuz
04d2a349af Rewrite. This fixes a bug where a forward reference (+1) to a non existing
label caused an internal error. It does also add checking for unreferenced
labels.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2950 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-21 16:15:55 +00:00
cuz
eeea3b9bc2 Adjust year in copyright string
git-svn-id: svn://svn.cc65.org/cc65/trunk@2949 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-21 16:15:04 +00:00
cuz
c638243881 Changed a bug in the the translation table for the Atari: \a (bell) should
now work.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2948 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-21 15:13:45 +00:00
cuz
1447b104db Fixed a problem with conditional assembly. The assembler did not check if end
of lined was reached after a .IF/.ELSE/... This could lead to invalid input
accepted without an error message.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2947 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-21 11:03:08 +00:00
cuz
3f1ebfe116 Fixed a small bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2946 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-20 19:23:03 +00:00
cuz
0bbcaa5c1a New option --list-targets
git-svn-id: svn://svn.cc65.org/cc65/trunk@2945 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-20 09:36:22 +00:00
cuz
60bf40f6db Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2941 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-19 10:38:09 +00:00
cuz
1b81dcc64f Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2940 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-19 10:18:21 +00:00
cuz
1a9c9bf32f Output a warning for a call to memset with a count of zero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2939 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-18 09:43:08 +00:00
cuz
3f4096d303 Optimization for __bzero.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2933 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-15 22:03:50 +00:00
cuz
09a608cd58 Removed a useless function call
git-svn-id: svn://svn.cc65.org/cc65/trunk@2930 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-14 19:58:48 +00:00
cuz
b78ef1e0b4 Removed obsolete comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@2929 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-14 11:16:49 +00:00
cuz
89fc8f3df7 Fixed a bug: The volatile keyword was not accepted in type casts or as
argument to the sizeof operator, if the type spec is starting with this
keyword.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2921 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-13 22:37:13 +00:00
cuz
5f2569ef28 New target APPLE2ENH
git-svn-id: svn://svn.cc65.org/cc65/trunk@2912 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-11 21:29:09 +00:00
cuz
897b12cdb2 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@2911 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-11 21:28:49 +00:00
cuz
bcf09a96bb New target APPLE2ENH
git-svn-id: svn://svn.cc65.org/cc65/trunk@2910 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-11 21:21:33 +00:00
cuz
c313ae2ce4 Added a new apple2enh target
git-svn-id: svn://svn.cc65.org/cc65/trunk@2909 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-11 20:52:23 +00:00
cuz
40dc3582a9 Allow push/pop arguments for segment name #pragmas
git-svn-id: svn://svn.cc65.org/cc65/trunk@2907 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-08 22:33:27 +00:00
cuz
742d8c3294 Renamed IS_Pop to IS_Drop
git-svn-id: svn://svn.cc65.org/cc65/trunk@2905 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-07 22:09:25 +00:00
cuz
9d439d9dd2 New module strstack
git-svn-id: svn://svn.cc65.org/cc65/trunk@2904 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-07 22:09:06 +00:00
cuz
d0ea9f34b6 Made several options that can be changed by #pragmas stackable.
Added new #pragma regvars.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2902 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-07 21:53:35 +00:00
cuz
7492c924e3 New module intstack
git-svn-id: svn://svn.cc65.org/cc65/trunk@2901 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-07 21:52:30 +00:00
cuz
04ccfdd660 Added missing 'simple escape sequences'
git-svn-id: svn://svn.cc65.org/cc65/trunk@2894 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 19:42:19 +00:00
cuz
f2a74164a2 Fixed a bug: Octal character constants were not handled correctly.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2893 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 19:42:07 +00:00
cuz
6577ca9cb3 SB_GetNumber didn't handle a sign correctly
git-svn-id: svn://svn.cc65.org/cc65/trunk@2892 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 19:30:08 +00:00
cuz
98e3d2815e Added missing 'simple escape sequences'
git-svn-id: svn://svn.cc65.org/cc65/trunk@2891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 19:27:59 +00:00
cuz
9bf337a37b Pass chars as ints
git-svn-id: svn://svn.cc65.org/cc65/trunk@2890 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 19:25:26 +00:00
cuz
e47ed98aa7 Move the expression test code into separate modules.
The Test() and TestInParens() functions do now return information about the
expression that was tested.
An if... statement where the expression is always true will now print a
warning "Unreachable code" if it has an else clause.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2889 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 18:00:08 +00:00
cuz
9d46a42600 Fixed two errors, skip to end of line in case of an error
git-svn-id: svn://svn.cc65.org/cc65/trunk@2887 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-03-02 17:24:30 +00:00
cuz
96f96a5bde Identifiers starting with a dot could not be used as namens for .define
style macros, even with --leading_dots_in_identifiers. This was also true
for symbols with one character names and without a leading dot.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2882 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-02-22 11:34:29 +00:00
cuz
7165d4d77f The disassembler outputs .text instead of .byte
git-svn-id: svn://svn.cc65.org/cc65/trunk@2877 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-01-22 21:15:51 +00:00
cuz
4106dfd526 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2875 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-01-22 21:13:01 +00:00
cuz
95c0fb6e0b Removed an unused assignment
git-svn-id: svn://svn.cc65.org/cc65/trunk@2872 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-01-04 21:35:38 +00:00
cuz
77e667c14d Better debug output
git-svn-id: svn://svn.cc65.org/cc65/trunk@2863 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-31 09:55:18 +00:00
cuz
5cc3e809bb Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2861 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-30 22:44:03 +00:00
cuz
6d49e06fa2 Fixed a few bugs
git-svn-id: svn://svn.cc65.org/cc65/trunk@2860 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-30 22:42:49 +00:00
cuz
92d5130220 Improved PET-II support
git-svn-id: svn://svn.cc65.org/cc65/trunk@2857 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-30 08:09:08 +00:00
cuz
aa9d9445e8 Bumped the version number
git-svn-id: svn://svn.cc65.org/cc65/trunk@2837 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-26 21:03:54 +00:00
cuz
baef511276 Fixed address in comment
git-svn-id: svn://svn.cc65.org/cc65/trunk@2826 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-23 08:46:00 +00:00
cuz
23935bd4c6 Fixed a watcom warning
git-svn-id: svn://svn.cc65.org/cc65/trunk@2823 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-22 23:13:15 +00:00
cuz
46a013c312 We cannot build the inc files from windows/wine
git-svn-id: svn://svn.cc65.org/cc65/trunk@2822 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-22 22:46:17 +00:00
cuz
467cc7c5ad Generate the inc files
git-svn-id: svn://svn.cc65.org/cc65/trunk@2820 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-22 21:29:28 +00:00
cuz
01083b9534 Make the scope variables extern
git-svn-id: svn://svn.cc65.org/cc65/trunk@2819 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-22 21:14:32 +00:00
cuz
09a070edc6 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@2818 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-22 20:56:31 +00:00
cuz
9e5d22cd9f Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@2817 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-22 20:39:15 +00:00
cuz
1dec560743 Fixed a C99 issue
git-svn-id: svn://svn.cc65.org/cc65/trunk@2816 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-22 20:38:14 +00:00
cuz
72fe2c86a1 Fixed a weird bug. Some special where found to be register variables when they
weren't. Caused by the assignments of the type flags. The flags for the symbol
table entry should get reassigned, because this is not the first time they
caused a problem, but this requires more thought, so I hacked the function
that tests for register vars.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2813 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-21 18:54:39 +00:00
cuz
da019b064a Assume numeric subroutines use anything and change anything.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2801 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-21 10:44:39 +00:00
cuz
b0a2e6375f 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
2003-12-21 10:23:23 +00:00
cuz
6b16c182b2 Config changes for improved 610 support
git-svn-id: svn://svn.cc65.org/cc65/trunk@2797 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-20 23:52:48 +00:00
cuz
6a3ea29429 Set the address size once assembly is terminated
git-svn-id: svn://svn.cc65.org/cc65/trunk@2750 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-13 20:56:31 +00:00
cuz
108134f43d Changed format of debug info file
git-svn-id: svn://svn.cc65.org/cc65/trunk@2748 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-13 19:55:22 +00:00
cuz
1b2c277f8b Include exported symbols in debug info
git-svn-id: svn://svn.cc65.org/cc65/trunk@2747 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-13 19:54:38 +00:00
cuz
67e83836ec Ignore generated file supervision.inc
git-svn-id: svn://svn.cc65.org/cc65/trunk@2734 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 17:45:50 +00:00
cuz
9dad608bc9 Use the WORD0 expression op instead of AND
git-svn-id: svn://svn.cc65.org/cc65/trunk@2732 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 16:02:30 +00:00
cuz
fd102deb77 New pseudo functions: .LOBYTE, .HIBYTE, .BANKBYTE, .LOWORD, .HIWORD
git-svn-id: svn://svn.cc65.org/cc65/trunk@2731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 15:59:44 +00:00
cuz
67d4f2b3ce Removed debug code
git-svn-id: svn://svn.cc65.org/cc65/trunk@2730 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 15:40:32 +00:00
cuz
841c5f814b Fixed several address size issues
git-svn-id: svn://svn.cc65.org/cc65/trunk@2729 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 15:40:08 +00:00
cuz
54a50d9354 Code cleanup
git-svn-id: svn://svn.cc65.org/cc65/trunk@2728 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 12:59:10 +00:00
cuz
271391d217 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2727 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-12 12:57:49 +00:00
cuz
cb8c3746f5 A continue statement within a do loop did not work. Cleaned up the loop
code a little bit.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2722 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-09 16:29:59 +00:00
cuz
87857eced3 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2720 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-06 14:44:16 +00:00
cuz
7f3c28a438 Make .sizeof work with code scopes. First support for segment ranges.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2719 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-06 14:29:16 +00:00
cuz
eea9accba6 Make .sizeof work with code scopes. First support for segment ranges.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2718 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-06 14:16:27 +00:00
cuz
ad86e4679a Make struct work as documented
git-svn-id: svn://svn.cc65.org/cc65/trunk@2716 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-06 13:35:05 +00:00
cuz
788208d7dc Syntax change
git-svn-id: svn://svn.cc65.org/cc65/trunk@2708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-03 19:51:07 +00:00
cuz
92a001d3af Fixes for scoping and better .sizeof support
git-svn-id: svn://svn.cc65.org/cc65/trunk@2706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-03 10:13:41 +00:00
cuz
14d0577ef0 More work on .sizeof, fixed problems with cheap locals
git-svn-id: svn://svn.cc65.org/cc65/trunk@2704 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-03 09:18:31 +00:00
cuz
1a9a5f2687 More work on .sizeof
git-svn-id: svn://svn.cc65.org/cc65/trunk@2702 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-12-02 22:09:45 +00:00
cuz
3a7c054f6b Temp fix for address size detection of symbols
git-svn-id: svn://svn.cc65.org/cc65/trunk@2701 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-30 22:54:13 +00:00
cuz
9ebc3d1f01 Don't remove symbols or otherwise simplify expressions while assembly is
still in progress. There may be information that is needed, and when
assembly is done it is still time to do so. (Needs more work).
Better expression checks for fragments. Stuff that was detected by the
linker before is now handled by the assembler.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2700 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-30 21:47:40 +00:00
cuz
cf7b4e227a More .size/.sizeof support
git-svn-id: svn://svn.cc65.org/cc65/trunk@2699 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-30 18:41:32 +00:00
cuz
c5cc4e1536 Don't use SF_TRAMPOLINE, change symbol references instead.
In smart mode, use RTL instead of RTS if the enclosing .PROC is far.
More address size changes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-29 07:53:26 +00:00
cuz
05f3f154a9 Use smart mode, allow more CPUs, fix CPU dependent code, use address sizes
for functions.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2694 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-29 07:40:41 +00:00
cuz
b520b182d0 Memory model additions
git-svn-id: svn://svn.cc65.org/cc65/trunk@2693 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-29 07:17:31 +00:00
cuz
add702a2f0 Special code for signed compares against zero
git-svn-id: svn://svn.cc65.org/cc65/trunk@2692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-29 06:56:24 +00:00
cuz
8f9a21ae3f Extend the object code format by adding a (currently empty) scope table.
Use the address size for import, export and debug symbols (object code
change).
More changes to support the --memory-model switch and address sizes.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2691 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-28 22:12:14 +00:00
cuz
e3eea961c2 Update by Stefan Haubenthal
git-svn-id: svn://svn.cc65.org/cc65/trunk@2690 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-28 15:57:24 +00:00
cuz
614d23b53a Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2688 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-27 20:43:37 +00:00
cuz
9fea0c5c42 Pass the memory model to the compiler
git-svn-id: svn://svn.cc65.org/cc65/trunk@2685 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-25 18:37:05 +00:00
cuz
349c94f9a2 New --memory-model switch
git-svn-id: svn://svn.cc65.org/cc65/trunk@2684 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-25 18:36:32 +00:00
cuz
5622524cbd New --memory-model option
git-svn-id: svn://svn.cc65.org/cc65/trunk@2683 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-24 19:18:01 +00:00
cuz
e9bd1d42b1 New module
git-svn-id: svn://svn.cc65.org/cc65/trunk@2682 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-24 18:35:29 +00:00
cuz
49f72c6d24 Much extended StudyExpr
git-svn-id: svn://svn.cc65.org/cc65/trunk@2681 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-23 21:39:30 +00:00
cuz
f99049f84c Hold address sizes in an unsigned char
git-svn-id: svn://svn.cc65.org/cc65/trunk@2680 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-23 21:39:12 +00:00
cuz
eb7fc320cc New DefAddrSize variable
git-svn-id: svn://svn.cc65.org/cc65/trunk@2679 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-23 21:38:54 +00:00
cuz
2863d55ebd New option --memory-model
git-svn-id: svn://svn.cc65.org/cc65/trunk@2678 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-23 21:38:23 +00:00
cuz
53a7c0c7d9 Removed the EXPR_FORCE... ops
git-svn-id: svn://svn.cc65.org/cc65/trunk@2677 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-23 21:37:11 +00:00
cuz
efdee34870 Mark RTI as "uses all registers" to avoid problems with the optimizer
removing register loads from an interrupt handler return.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2676 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-22 13:02:37 +00:00
cuz
7e44224dd0 Moved StudyExpr + helpers into its own module
git-svn-id: svn://svn.cc65.org/cc65/trunk@2675 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-19 22:54:30 +00:00
cuz
cd918a387c Temp fix for some address size problems
git-svn-id: svn://svn.cc65.org/cc65/trunk@2674 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-18 20:50:55 +00:00
cuz
aa7b723b15 Added long address size
git-svn-id: svn://svn.cc65.org/cc65/trunk@2673 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-18 20:50:36 +00:00
cuz
5ef1f65c9b Allow conditional directives within .STRUCT7:UNION and .ENUM
git-svn-id: svn://svn.cc65.org/cc65/trunk@2672 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-17 18:49:50 +00:00
cuz
57cc152ad6 Added .SIZEOF
git-svn-id: svn://svn.cc65.org/cc65/trunk@2671 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-17 17:59:30 +00:00
cuz
c5ad7d9af1 Replace address mode detection for expressions
git-svn-id: svn://svn.cc65.org/cc65/trunk@2670 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-17 12:56:44 +00:00
cuz
0e392b79bd Added enums
git-svn-id: svn://svn.cc65.org/cc65/trunk@2665 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-14 09:03:32 +00:00
cuz
742b1ffd8e New function GenAddExpr
git-svn-id: svn://svn.cc65.org/cc65/trunk@2664 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-14 08:44:12 +00:00
cuz
ebd2336d2b Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2663 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-13 22:19:56 +00:00
cuz
20608c81ce Added structs and unions, more work on scopes and expressions
git-svn-id: svn://svn.cc65.org/cc65/trunk@2662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-13 22:03:24 +00:00
cuz
274bafe6a5 Remove bank.offs address spec
git-svn-id: svn://svn.cc65.org/cc65/trunk@2661 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-13 22:02:45 +00:00
cuz
88855545e4 Address size fixes
git-svn-id: svn://svn.cc65.org/cc65/trunk@2659 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-13 00:40:40 +00:00
cuz
ba68b5f87a More work on expressions and address sizes
git-svn-id: svn://svn.cc65.org/cc65/trunk@2658 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-13 00:21:31 +00:00
cuz
71ceff750d Special config for use with the TGI driver added
git-svn-id: svn://svn.cc65.org/cc65/trunk@2655 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-12 16:55:16 +00:00
cuz
980f5b598f Precalculate some expressions
git-svn-id: svn://svn.cc65.org/cc65/trunk@2651 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-12 16:40:26 +00:00
cuz
7c5a400e01 Cosmetic changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@2650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-12 16:40:14 +00:00
cuz
1e624c5e91 Fixed a problem
git-svn-id: svn://svn.cc65.org/cc65/trunk@2641 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-11 22:16:47 +00:00
cuz
8a49256df9 New DumpExpr signature
git-svn-id: svn://svn.cc65.org/cc65/trunk@2640 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-11 13:59:19 +00:00
cuz
e87bec47d7 Allow dumping of symbol expressions
git-svn-id: svn://svn.cc65.org/cc65/trunk@2639 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-11 13:58:00 +00:00
cuz
4555fdcad1 Rewrote expression evaluation. More smaller changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-11 13:57:30 +00:00
cuz
3d1e244a8a Use safe shift routines
git-svn-id: svn://svn.cc65.org/cc65/trunk@2637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-11 09:44:19 +00:00
cuz
7e9b389428 New shift module, comment fixes
git-svn-id: svn://svn.cc65.org/cc65/trunk@2636 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-11 09:41:07 +00:00
cuz
1db1c7cabc Renamed expression ops for better readability
git-svn-id: svn://svn.cc65.org/cc65/trunk@2635 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-10 22:18:49 +00:00
cuz
1f5bd0c5e0 Added more missing ops
git-svn-id: svn://svn.cc65.org/cc65/trunk@2634 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-10 13:58:30 +00:00
cuz
e80c537c1b EXPR_SECTION was missing from dump
git-svn-id: svn://svn.cc65.org/cc65/trunk@2633 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-10 13:51:49 +00:00
cuz
bd2edbf02f Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2630 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-09 23:00:53 +00:00
cuz
6f088806d7 Fixed exports for now
git-svn-id: svn://svn.cc65.org/cc65/trunk@2628 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-09 22:50:36 +00:00
cuz
e5b4efc191 Ignore opctest
git-svn-id: svn://svn.cc65.org/cc65/trunk@2627 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-09 12:52:12 +00:00
cuz
814a0d3c84 Improved an error message in case of invalid input data
git-svn-id: svn://svn.cc65.org/cc65/trunk@2626 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-09 12:12:02 +00:00
cuz
18fb938f48 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2625 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-09 12:11:42 +00:00
cuz
88e702db0f Added .SCOPE/.ENDSCOPE
git-svn-id: svn://svn.cc65.org/cc65/trunk@2624 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-08 23:27:30 +00:00
cuz
587b807921 Files in the file tables have their names in the string pool
git-svn-id: svn://svn.cc65.org/cc65/trunk@2623 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-08 23:20:49 +00:00
cuz
87d3f32be1 More work on address sizes
git-svn-id: svn://svn.cc65.org/cc65/trunk@2622 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-08 23:13:02 +00:00
cuz
44976a0461 Replace error/warning numbers by strings.
More work on address sizes and scoping.


git-svn-id: svn://svn.cc65.org/cc65/trunk@2620 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-08 17:20:21 +00:00
cuz
7e74078801 Working on better 65816 support
git-svn-id: svn://svn.cc65.org/cc65/trunk@2619 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-07 19:28:37 +00:00
cuz
066ad63e35 Fixed compiler warnings
git-svn-id: svn://svn.cc65.org/cc65/trunk@2618 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-07 11:32:23 +00:00
cuz
cd8d69d1b0 New module
git-svn-id: svn://svn.cc65.org/cc65/trunk@2617 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-06 20:17:03 +00:00
cuz
8400fb848a Revised symbol scoping
git-svn-id: svn://svn.cc65.org/cc65/trunk@2614 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-06 11:22:31 +00:00
cuz
4a667ead00 Improved optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@2613 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-05 19:09:53 +00:00
cuz
5881a2b4f5 Changed freeing symbol relations, cosmetic changes
git-svn-id: svn://svn.cc65.org/cc65/trunk@2610 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-04 19:02:11 +00:00
cuz
b34d2df08b New function and bug fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@2609 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-04 18:59:12 +00:00
cuz
b20cc4cc6e Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@2604 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-03 16:25:31 +00:00
cuz
fdf047b4d7 PEI is no valid opcode for the 6502/sc02/c02
git-svn-id: svn://svn.cc65.org/cc65/trunk@2602 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-03 15:35:36 +00:00
cuz
86462c321f Fixed missing tab
git-svn-id: svn://svn.cc65.org/cc65/trunk@2601 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-03 14:30:42 +00:00
cuz
6e780debb8 Add dummy target strip
git-svn-id: svn://svn.cc65.org/cc65/trunk@2600 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-03 14:02:18 +00:00
cuz
8729fb4a53 Renamed targets
git-svn-id: svn://svn.cc65.org/cc65/trunk@2599 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-03 12:42:49 +00:00
cuz
5b3d0ddaf9 Convert the watcom makefiles for use with wine under Linux
git-svn-id: svn://svn.cc65.org/cc65/trunk@2598 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-11-02 21:46:00 +00:00