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

1308 Commits

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