cuz
9df7321d90
Cleanup in ShiftExpr.
...
Changed GetCodePos to also remember the stack pointer at the given location,
this removes the necessity to manipulate the stack when removing code. Since
CodeMark is now a struct, the API for most asmcode functions has changed.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3145 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 11:30:08 +00:00
cuz
a4c4e995a3
Added lasr.o
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3144 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-05 22:38:21 +00:00
cuz
c122f18605
New code for the shift functions
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3143 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-05 22:24:06 +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
9d8d2a3229
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3141 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-30 18:11:11 +00:00
cuz
76e31df5f8
Fixed a bug
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3140 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:48:35 +00:00
cuz
e354d269f6
Remove shifts from kcalc
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3139 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:44:50 +00:00
cuz
809d1408ce
Move shift expression evaluation into a separate module. More checks and
...
improvements for shift expressions.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3138 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:44:01 +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
e8afc897cf
Some renaming
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3136 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:35:39 +00:00
cuz
daf8e0d1e6
Added license information preproc.h
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3135 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-29 20:26:27 +00:00
cuz
b2b7006939
Fixed a problem
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3134 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-21 22:30:07 +00:00
cuz
13a2927e17
The -A and --ansi switches are gone, together with the __STRICT_ANSI__
...
predefined macro. Instead there is now a command line option --standard that
allows to set c89, c99 or cc65 as language standard. The compiler defines a
macro __CC65_STD__ that is one of __CC65_STD_C89__, __CC65_STD_C99__ or
__CC65_STD_CC65__ depending on the command line option. Default is cc65 (all
extensions) as before.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3133 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-21 22:22:11 +00:00
cuz
d01687fd82
Removed the undocumented, obsolete and unused OptDisable flagset
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3132 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 21:24:47 +00:00
cuz
255392eb15
Document the codesize, optimize and warn pragmas
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3131 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 21:20:34 +00:00
cuz
ca2b070935
Make the -W flag stackable.
...
New pragmas codesize, optimize and warn.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3130 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 21:05:40 +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
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
ddf012b94d
Changed an error message
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3126 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 09:29:31 +00:00
cuz
aa0c3bbf81
New function tgi_geterrormsg
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3125 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 09:08:39 +00:00
cuz
191801d7a1
Use enum, declare count of errors
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3124 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 09:08:31 +00:00
cuz
9b7fcec4b4
Fixed an error
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3123 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 09:06:36 +00:00
cuz
1297374ea7
New module tgi_geterrormsg.s
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3122 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-15 09:02:05 +00:00
cuz
ff3f7da425
Patches from Greg King
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3121 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-13 18:28:09 +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
cpg
aeadc056c7
one byte space optimization
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3116 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-09 19:53:13 +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
e3f63219a1
Fixed a typo and changed example to use new asm syntax
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3112 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-07 21:40:51 +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
0f80f0e297
Corrected minor spelling errors
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3104 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 10:35:12 +00:00
cuz
4b98935889
Corrected minor spelling errors
...
git-svn-id: svn://svn.cc65.org/cc65/trunk@3103 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-06-06 10:33:00 +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