1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-28 22:30:12 +00:00
Commit Graph

1209 Commits

Author SHA1 Message Date
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