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

2921 Commits

Author SHA1 Message Date
cuz
1182d4cbd9 A main function not returning an int is not allowed in standard C
git-svn-id: svn://svn.cc65.org/cc65/trunk@3147 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 14:25:48 +00:00
cuz
2c3d5773f3 Fixed a bug
git-svn-id: svn://svn.cc65.org/cc65/trunk@3146 b7a2c559-68d2-44c3-8de9-860c34a00d81
2004-07-06 14:25:03 +00:00
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