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

1419 Commits

Author SHA1 Message Date
cuz
eb745b3d1b Fixed a problem with undefined identifiers in #if expressions: If the
identifier is not the last token on the line, the compiler will run into
an error.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3744 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-29 20:38:44 +00:00
cuz
b7255ed8fa Terminate the line containing the #if expression before passing it to the
parser.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-29 20:36:21 +00:00
cuz
b6cb833560 Don't check for open .IF clauses when reaching the end of pushed input data.
This will allow to write macros that contain open .IFs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3740 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-05-21 11:23:22 +00:00
cuz
49719b0bd2 Removed a C99 construct
git-svn-id: svn://svn.cc65.org/cc65/trunk@3734 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-24 23:45:44 +00:00
cuz
e81d5ec00a Added another optimization step
git-svn-id: svn://svn.cc65.org/cc65/trunk@3732 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-16 21:35:36 +00:00
cuz
7736aac1e2 Added more info about internal (builtin) functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@3731 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-16 21:35:24 +00:00
cuz
21af43a800 Comment fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@3730 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-16 20:32:09 +00:00
cuz
585791a789 Repeatedly call OptStore1 after OptJumpTarget because it is able to do some
more work in case of for loops.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3729 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 20:46:05 +00:00
cuz
1ac3cbe420 ldaxysp doesn't return flags any more.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3728 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 20:45:35 +00:00
cuz
c156b20738 Added some code rewriting (may enable optimizations in a few cases).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3727 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 20:31:43 +00:00
cuz
d82d94ecc1 Optimize decaxn
git-svn-id: svn://svn.cc65.org/cc65/trunk@3726 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-15 19:28:45 +00:00
cuz
c13f40a9f1 Emit warnings for symbols that were used suboptimal because of forward
definitions. For example a zero page symbol that is used as absolute because
it was undefined when encountered.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3724 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-09 10:56:23 +00:00
cuz
44405a0bb5 New function xdup.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3723 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-09 10:04:50 +00:00
cuz
155dc9c653 Corrected some runtime function info
git-svn-id: svn://svn.cc65.org/cc65/trunk@3721 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-07 08:38:30 +00:00
cuz
f507124733 Added lots of runtime function info.
Fixed a problem with wrong info for the incaxn functions.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3715 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-03 19:31:31 +00:00
cuz
c73c31c496 Added info for the staxspidx runtime function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3714 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-04-02 15:32:16 +00:00
cuz
4c0720709b Fixed a few errors in the macros used by the Watcom compiler.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3712 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-03-30 19:49:03 +00:00
cuz
d187424389 Fixed a problem of the optimizer. Unknown internal functions are marked as
using just EAX as input, and destroy all registers. This did cause the
optimizer to remove loads to zero page locations needed in the routines or
later.
Print a warning for unknown internal functions when in debug mode.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3711 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-03-24 15:24:34 +00:00
cuz
f196e7c5c9 Cleanup. Added a few general purpose functions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3710 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-19 15:53:11 +00:00
cuz
de3a20a898 Changed the low level type representation from a strung of unsigned short
elements to a string of structs, each representing one type element. This
should fix problems on unusual architectures, since it is no longer necessary
to embedd pointers and other data converted to numbers in the string of
unsigned shorts.
Increased the TypeCode length to unsigned long to make room for more type
bits.
Inline more functions in datatype.h.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3709 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-19 12:29:37 +00:00
cuz
1375c85405 Removed an unneeded struct forward
git-svn-id: svn://svn.cc65.org/cc65/trunk@3708 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-18 12:23:07 +00:00
cuz
31d99b4a9f Added the inline keyword
git-svn-id: svn://svn.cc65.org/cc65/trunk@3707 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-17 20:27:51 +00:00
cuz
64921852dd Parse the C99 "restrict" keyword correctly (but ignore it otherwise).
git-svn-id: svn://svn.cc65.org/cc65/trunk@3706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-17 20:19:35 +00:00
cuz
32164ea8e5 Allow type qualifiers before a storage class spec.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3705 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-02-17 19:42:40 +00:00
cuz
cfca3473b8 Added new options and info file attribute to set the columns where the
fields of the disassembled output start.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3703 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-30 21:03:14 +00:00
cuz
d31f72d057 Restructured some of the code. Attribute handling is still a mess and needs
another cleanup.
Added unnamed labels.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3700 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-29 19:00:22 +00:00
cuz
7086da868b New --label-break option
git-svn-id: svn://svn.cc65.org/cc65/trunk@3699 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-27 19:36:33 +00:00
cuz
45ffbc59f5 Fixed a problem with files that don't end with a newline
git-svn-id: svn://svn.cc65.org/cc65/trunk@3697 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-20 21:17:08 +00:00
cuz
1193a466d9 Fixed a problem with input files with end address $FFFF.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3696 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-01-19 22:03:17 +00:00
cuz
457c91aba9 Added a generic va_copy definition
git-svn-id: svn://svn.cc65.org/cc65/trunk@3684 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-11 12:58:21 +00:00
cuz
84706bd2d5 Fixed portability problems with va_copy. In three places, calls to fstat
had to be replaced by calls to stat, because fileno is no longer available
when forcing the compiler into pure c89 (or c99) mode.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3683 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-11 12:40:51 +00:00
cuz
2d66b55b9d Fixed the latest bugfix
git-svn-id: svn://svn.cc65.org/cc65/trunk@3682 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-09 22:27:14 +00:00
cuz
0816559134 Fixed another bug with help of Greg King
git-svn-id: svn://svn.cc65.org/cc65/trunk@3681 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-07 17:47:46 +00:00
cuz
5227580f46 Ignore internal symbols when generating warnings about unused symbols
git-svn-id: svn://svn.cc65.org/cc65/trunk@3680 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-04 22:03:35 +00:00
cuz
66365154f8 Small map file string fix
git-svn-id: svn://svn.cc65.org/cc65/trunk@3678 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-02 23:18:32 +00:00
cuz
6662570a26 A local macro symbol with a cheap local name (@...) was not identified as
such.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3677 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-12-01 21:20:03 +00:00
cuz
a60ef7ecb6 A BSS segment with an alignment, that is written to a memory area with the
fill attribute caused invalid output.
While fixing this, added somewhat more debug output.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3668 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-22 16:17:28 +00:00
cuz
3c74435ac4 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3663 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-21 20:08:03 +00:00
cuz
6d66611108 Add symbol to disable inlining of functions
git-svn-id: svn://svn.cc65.org/cc65/trunk@3662 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 22:03:29 +00:00
cuz
101ce0941f Add a linefeed after internal compiler error messages
git-svn-id: svn://svn.cc65.org/cc65/trunk@3661 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 21:51:50 +00:00
cuz
e17f08957c Autodetect the Amiga when compiling
git-svn-id: svn://svn.cc65.org/cc65/trunk@3656 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 16:49:29 +00:00
cuz
33b874c4c8 Add explicit check for CPU_UNKNOWN to avoid SIGSEGV
git-svn-id: svn://svn.cc65.org/cc65/trunk@3652 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 13:09:41 +00:00
cuz
a63e74f691 Insert correct .setcpu line for HuC6280
git-svn-id: svn://svn.cc65.org/cc65/trunk@3651 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 12:52:53 +00:00
cuz
69485b5000 Fixed a problem with --feature labels_without_colons: The scanner inserts
a space at the beginning of a new file, with the assumption that this is a
"neutral" character. If above feature is enabled, it is no longer neutral,
so read the first character from the new input instead.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3650 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-11-20 12:30:24 +00:00
cuz
33542e3ed9 Use the new linker features in apple2.cfg. This makes apple2-tgi.cfg
obsolete.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3648 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-14 08:55:28 +00:00
cuz
f6cab70600 Fixed a typo
git-svn-id: svn://svn.cc65.org/cc65/trunk@3647 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-13 21:52:13 +00:00
cuz
00f24fe76a More optimizations
git-svn-id: svn://svn.cc65.org/cc65/trunk@3645 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-12 22:38:19 +00:00
cuz
c7490cf060 Some function renaming.
Improved an optimization step.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3642 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-11 12:52:12 +00:00
cuz
bf6b40e97e Bumped the version number for the snapshot
git-svn-id: svn://svn.cc65.org/cc65/trunk@3638 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-10 12:53:45 +00:00
cuz
48cc6288ca Bumped the version number for 2.11.0
git-svn-id: svn://svn.cc65.org/cc65/trunk@3637 b7a2c559-68d2-44c3-8de9-860c34a00d81
2005-09-10 12:53:11 +00:00