uz
e646d35db0
Output an apropriate error message when a floating point type is encountered
...
(instead of an internal compiler error).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4028 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-16 19:23:07 +00:00
uz
3717443f3b
Try to generate more predictable code.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@4013 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-15 13:25:40 +00:00
uz
0c4144c586
Don't generate inlined codes for integers shifts. If necessary the optimizer
...
can do that.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4007 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:17:47 +00:00
uz
0b7b9354dc
Don't generate short code for the tosxxx functions when X is zero or similar.
...
Let the optimizer do it. This reduces the number of possible patterns that
must be detected by the optimizer. Add tosicmp0 as a shortcut function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4006 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-08-14 22:10:04 +00:00
uz
8216bf1d6a
Force an import of the special symbol __STARTUP__ in the C compiler when
...
main() is encountered. Define this symbol in the startup code. This will
automatically force linking of the startup code which can then reside inside
the standard library as any other object file.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3988 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-31 12:05:42 +00:00
uz
66391bfc25
Inline shifts in g_asl as is already the case in g_scale.
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3987 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-30 19:41:25 +00:00
uz
dff0e86458
Prepared the code for referencing a symbol that forces the startup code to get
...
linked in.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3976 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-07-28 18:55:23 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
6d409bfb72
Fixed a bug in several binary operators.
...
Fixed a bug in the restore routine for the register variables (generated
code relies sometimes on a wrap around zero which causes a linker error and
does not work on the 816).
More small changes.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2516 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-11 20:40:19 +00:00
cuz
f9af6ebf88
Added some code to handle floats/doubles.
...
Fixed code generation for compares.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2488 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-10 11:39:58 +00:00
cuz
923ae328a5
Fixed a bug in signed int compares
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2483 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-10-08 21:26:32 +00:00
cuz
91a79e4714
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2312 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-14 13:08:46 +00:00
cuz
33d16833f0
Some CPU definition changes
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2248 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-08-07 08:22:16 +00:00
cuz
986e3779ce
Moved CPU definition into common/
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@2111 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-05-01 23:24:20 +00:00
cuz
065b8f2596
If main() takes arguments, generate a forced import to a special module
...
constructor which will setup command line arguments.
git-svn-id: svn://svn.cc65.org/cc65/trunk@2011 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-03-07 12:41:47 +00:00
cuz
c123666d24
Added flexible array members for structs
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1925 b7a2c559-68d2-44c3-8de9-860c34a00d81
2003-02-03 22:14:20 +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
ede471904c
Reenable register variables
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1625 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-24 23:31:54 +00:00
cuz
ac61d6826c
Another optimization step
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1603 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-11-23 12:05:23 +00:00
cuz
83fb2c8ab4
Allow initialization of local variables of compound type
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@1458 b7a2c559-68d2-44c3-8de9-860c34a00d81
2002-10-10 21:15:24 +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
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
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
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
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
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
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
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
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
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
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
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
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
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