9d8d2a3229
Fixed a bug
cuz
2004-06-30 18:11:11 +00:00
76e31df5f8
Fixed a bug
cuz
2004-06-29 20:48:35 +00:00
e354d269f6
Remove shifts from kcalc
cuz
2004-06-29 20:44:50 +00:00
809d1408ce
Move shift expression evaluation into a separate module. More checks and improvements for shift expressions.
cuz
2004-06-29 20:44:01 +00:00
31f85bc23e
Renaming and cleanup
cuz
2004-06-29 20:37:18 +00:00
e8afc897cf
Some renaming
cuz
2004-06-29 20:35:39 +00:00
daf8e0d1e6
Added license information preproc.h
cuz
2004-06-29 20:26:27 +00:00
b2b7006939
Fixed a problem
cuz
2004-06-21 22:30:07 +00:00
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.
cuz
2004-06-21 22:22:11 +00:00
d01687fd82
Removed the undocumented, obsolete and unused OptDisable flagset
cuz
2004-06-15 21:24:47 +00:00
255392eb15
Document the codesize, optimize and warn pragmas
cuz
2004-06-15 21:20:34 +00:00
ca2b070935
Make the -W flag stackable. New pragmas codesize, optimize and warn.
cuz
2004-06-15 21:05:40 +00:00
d8279302a9
Make the -O and --codesize options stackable. Copy the current optimization settings into a code segment on creation.
cuz
2004-06-15 20:29:49 +00:00
9cb7015055
Inline assembly can now reference C labels with the %g format specifier
cuz
2004-06-15 20:08:01 +00:00
a3e6fbd21f
Some cleanup
cuz
2004-06-15 20:05:54 +00:00
ddf012b94d
Changed an error message
cuz
2004-06-15 09:29:31 +00:00
aa0c3bbf81
New function tgi_geterrormsg
cuz
2004-06-15 09:08:39 +00:00
191801d7a1
Use enum, declare count of errors
cuz
2004-06-15 09:08:31 +00:00
9b7fcec4b4
Fixed an error
cuz
2004-06-15 09:06:36 +00:00
1297374ea7
New module tgi_geterrormsg.s
cuz
2004-06-15 09:02:05 +00:00
ff3f7da425
Patches from Greg King
cuz
2004-06-13 18:28:09 +00:00
a3039d57fc
Fixed problems on 64 bit platforms and some other sloopyness when working with the element count of an array.
cuz
2004-06-10 13:03:28 +00:00
cb7c50a8ce
Fixed a warning
cuz
2004-06-10 10:37:55 +00:00
d184d938fd
Fixed a bug
cuz
2004-06-10 08:48:02 +00:00
aeadc056c7
one byte space optimization
cpg
2004-06-09 19:53:13 +00:00
573f1818df
Check the return code of the submakes (Christian Groessler)
cuz
2004-06-09 19:30:33 +00:00
975323ece2
Renamed ExprLoad to LoadExpr. Moved LoadExpr + support functions into a separate module. Removed obsolete files. Some cleanup and makefile adjustments.
cuz
2004-06-09 19:25:28 +00:00
8752f0b2c1
Removed ExprLoad to LoadExpr. Moved LoadExpr + support functions into a separate module. Removed obsolete files. Some cleanup and makefile adjustments.
cuz
2004-06-09 14:12:57 +00:00
e3f63219a1
Fixed a typo and changed example to use new asm syntax
cuz
2004-06-07 21:40:51 +00:00
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.
cuz
2004-06-07 21:16:49 +00:00
71ed8810c3
Minor change
cuz
2004-06-06 18:36:08 +00:00
f500a641c5
Added support for floating point constants in the scanner and Primary()
cuz
2004-06-06 15:59:44 +00:00
9fc71c5e93
Renamed ExprDesc.Val to ExprDesc.IVal. Added an FVal field for a floating point constant.
cuz
2004-06-06 14:48:59 +00:00
eb388aa237
The loop code will access the stackpointer directly
cuz
2004-06-06 10:52:32 +00:00
651c6e5cbf
Add predefined type strings for float and double
cuz
2004-06-06 10:49:59 +00:00
0f80f0e297
Corrected minor spelling errors
cuz
2004-06-06 10:35:12 +00:00
4b98935889
Corrected minor spelling errors
cuz
2004-06-06 10:33:00 +00:00
c76e14f9f5
Improved code for or and xor
cuz
2004-06-05 22:10:04 +00:00
5586527fcc
Move the test flags into the Flags bitset of struct ExprDesc
cuz
2004-06-05 20:29:47 +00:00
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).
cuz
2004-06-05 16:21:07 +00:00
e4473c0a96
Repeat the check in OptJumpTarget whenever a match is found to find rows of matches
cuz
2004-06-05 16:19:23 +00:00
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.
cuz
2004-06-05 16:18:30 +00:00
08eb9b7b0e
Check for and warn on statements that don't have an effect
cuz
2004-06-05 12:56:51 +00:00
3a0edbff75
Fixed a bug
cuz
2004-06-05 11:50:04 +00:00
104ae3a54f
Move the compiler stack pointer into its own module. Improved the inlining of standard C functions. Added more standard functions to inline.
cuz
2004-06-05 11:35:53 +00:00
a0c1b9fe38
Fixed a bug
cuz
2004-06-05 11:33:44 +00:00
1ec972d0c4
Fixed a typo
cuz
2004-06-04 21:30:37 +00:00
f0b8ea1e14
Fixed a problem
cuz
2004-06-04 21:25:54 +00:00
64fdaa4629
Remove dependency on rom.o
cuz
2004-06-04 17:54:15 +00:00
3a144965fa
Added T_SIZE_T as an alias for T_UINT
cuz
2004-06-04 17:52:19 +00:00
01104d26ea
Fixed generation of non optimal code in StructRef()
cuz
2004-06-03 11:10:30 +00:00
763a359114
Comment and indentation changes
cuz
2004-06-03 11:08:50 +00:00
6e34e386cb
Rewrote code generation for the strlen standard function. Added code for other standard functions in several places.
cuz
2004-06-02 21:33:35 +00:00
2bb2ceec33
Fixed a bug
cuz
2004-06-02 21:20:18 +00:00
d8f7384091
Fixed a bug
cuz
2004-06-01 20:30:44 +00:00
61ca515494
small optimization; fix line buffered read of length 0
cpg
2004-06-01 20:25:44 +00:00
5abf10e049
New options
cuz
2004-06-01 11:22:35 +00:00
efdd68e735
Fix external function names
cuz
2004-06-01 08:48:20 +00:00
111c69a826
String literals can be handled as static data in most cases
cuz
2004-05-31 19:51:13 +00:00
5fc98bd69a
Comment fixes by Stefan Haubenthal
cuz
2004-05-31 19:35:30 +00:00
df4289cd34
Small addition by Stefan Haubenthal
cuz
2004-05-31 19:31:53 +00:00
e625fcea95
Small fix by Stefan Haubenthal
cuz
2004-05-31 19:30:27 +00:00
01a424b70c
Added oserrlist.s from Stefan Haubenthal
cuz
2004-05-31 19:27:54 +00:00
f5403e7d57
Load programs at 13:5900 instead of 00
cuz
2004-05-31 19:25:38 +00:00
8d8162eb23
Rewrite/cleanup of the complete expression flags handling.
cuz
2004-05-31 15:27:33 +00:00
c39022729d
Some improvements in font generation
cuz
2004-05-31 15:17:40 +00:00
fedb566ff1
Some renaming and restructuring
cuz
2004-05-26 16:15:28 +00:00
4f024ca81b
Added a missing include
cuz
2004-05-26 13:55:48 +00:00
72923eb316
Generate assembler names for symbols
cuz
2004-05-26 13:44:53 +00:00
2cdef2d58f
Add standard names for library functions
cuz
2004-05-26 13:42:19 +00:00
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.
cuz
2004-05-25 20:59:38 +00:00
c885a814c7
ungetc is now available
cuz
2004-05-14 20:58:37 +00:00
1d7884fa94
Add support for pushed back characters from ungetc()
cuz
2004-05-14 20:54:46 +00:00
556b861640
Better error messages in case of a range error
cuz
2004-05-14 15:05:51 +00:00
b61b5f3ec5
Fixed a bug
cuz
2004-05-14 14:33:43 +00:00