acqn
13ed557b92
Fixed compatibility checking of function declarations by using the composite types of them.
2020-08-14 18:33:54 +02:00
acqn
49c5cfd65b
Improved fix for Issues #167 and #784 and somehow #781 .
2020-06-22 23:23:39 +02:00
Greg King
a6b04f6e97
Changed most "backticks" (grave accents) into apostrophes.
...
Quotations that are embraced by tick marks now look better, in most fonts.
2019-01-05 14:57:12 -05:00
Lauri Kasanen
e8a735492d
Correct comment style
2017-05-19 15:38:50 +03:00
Lauri Kasanen
901ac80026
Wrapper functions use all registers
2017-05-19 15:25:50 +03:00
Greg King
8743e9911d
Added a command-line option to compile a program, with __cdecl__ as the default calling convention.
2015-04-22 09:59:23 -04:00
Greg King
a798b1d648
Made __fastcall__ be the default calling convention for non-variadic functions.
2015-03-10 05:53:52 -04:00
Greg King
0390c34e88
Changed multi-line C comments into another style.
...
The left side doesn't look unbalanced.
2014-06-30 16:51:07 -04:00
Oliver Schmidt
4185caf855
Normalized code.
2014-03-04 01:11:19 +01:00
Oliver Schmidt
85885001b1
Removed (pretty inconsistently used) tab chars from source code base.
2013-05-09 13:57:12 +02:00
uz
5f0db62f58
Added info for new shift routines that don't use the stack.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5763 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-06 20:00:22 +00:00
uz
92a0632634
Added register info for the aslaxy and shlaxy routines.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5743 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-24 22:05:56 +00:00
uz
4b80a3b9cd
Added new pushl0 runtime function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5706 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-10 19:23:15 +00:00
uz
0f7f7796b1
Added info about the subysp function.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@5692 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-06-07 13:14:49 +00:00
uz
f1ce44edfe
Fixed register info for several runtime functions. Info for the Y register was
...
wrong, so the optimizer assumed it wouldn't change across a call.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4836 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-11-02 18:05:19 +00:00
uz
7064aafab9
Added info about changed leaa0sp and leaaxsp. Rewrote g_leasp to cope with 16
...
stack offsets, because it's rather easy in this case.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4093 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-31 12:41:38 +00:00
uz
b4855e017b
The shift long by 4 functions do also destroy Y.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4076 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 20:14:20 +00:00
uz
ddeb171617
Info for long shift functions was missing or wrong.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4075 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-29 20:04:18 +00:00
uz
430c13f658
Added/corrected code info.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4033 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-17 16:23:29 +00:00
uz
3aa4d74b18
Added more function info
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4026 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 16:38:25 +00:00
uz
582506b7fc
Check also sreg in OptSize1. Added information about shortcut functions for
...
longs that clear the high word of the right operand on entry.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4024 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 21:00:27 +00:00
uz
0b7b9354dc
Don't generate short code for the tosxxx functions when X is zero or similar.
...
Let the optimizer do it. This reduces the number of possible patterns that
must be detected by the optimizer. Add tosicmp0 as a shortcut function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4006 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:10:04 +00:00
uz
fdfa1678d4
Tell the compiler more about the runtime library functions.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4004 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 20:21:47 +00:00
uz
cc36f8a93a
Moved the fascall and near/far flags from the function desriptor into the
...
type. Started to add general handling of address size flags in types.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3891 b7a2c559-68d2-44c3-8de9-860c34a00d81
2008-08-24 17:33:30 +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
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
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
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
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
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
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
eea99d2a1d
More zeropage variable tracking in the optimizer
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2460 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-01 13:05:35 +00:00
cuz
73dfa23c98
Fixed a bug that caused problems locating the last parameter of a function
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2259 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-10 17:05:18 +00:00
cuz
70755921a9
Re-added register variables.
...
Changed/added several optimizer steps to detect register variables correctly
or to handle them in a special way.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1636 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-25 15:05:15 +00:00
cuz
da44e7ae4b
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1628 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-24 23:41:51 +00:00
cuz
c61729a15a
A few size optimizations
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1606 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 16:33:35 +00:00
cuz
914b2a7e37
New store optimization.
...
New functions RegValIsKnown and RegValIsUnknown should be used instead of
direct compares against zero, so we can change the "unknown" representation
one day.
git-svn-id: svn://svn.cc65.org/cc65/trunk@1466 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-17 21:37:01 +00:00
cuz
2e5fa9575c
Add info about more functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1455 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-09 19:39:45 +00:00
cuz
e68b8160ed
Added more size optimizations, separate module
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1453 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-08 20:56:00 +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
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
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
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
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
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
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
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