1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-05-01 00:38:11 +00:00

1442 Commits

Author SHA1 Message Date
jespergravgaard
bb75c245a5 Merge remote-tracking branch 'origin/master' 2019-09-02 19:19:25 +02:00
jespergravgaard
f234f5a1ae Improved exception for recursive aliases. 2019-09-02 19:15:28 +02:00
Jesper Gravgaard
51cd148433 Implemented detection of constant addresses being <256 - and generating ZP ASM for these. Closes 2019-09-01 22:06:32 +02:00
jespergravgaard
a2ce3a5e14 Added missing fragments for Paul Nelsen. 2019-08-31 06:58:21 +02:00
jespergravgaard
8c56181554 Added support for allocating specific zeropage addresses for variables using the register(0x12) directive. This also includes function parameters making it possible to the calling convention pretty well. Closes 2019-08-29 22:52:58 +02:00
Jesper Gravgaard
67157f0a70 Implemented interval analysis for detecting conditions that are always true/false. Closes 2019-08-29 20:05:08 +02:00
jespergravgaard
887b9b08d7 Added missing fragment for leac0045 2019-08-29 16:00:27 +02:00
jespergravgaard
a4450db06a Merge remote-tracking branch 'origin/master' 2019-08-29 15:40:51 +02:00
jespergravgaard
cc7e7829cb Fixed tests. 2019-08-29 15:40:41 +02:00
Jesper Gravgaard
c35d35c238 Updated test data 2019-08-29 09:29:33 +02:00
jespergravgaard
8ee1cf8b7e Prepared for constant condition interval analysis 2019-08-29 08:54:38 +02:00
jespergravgaard
a064e766bc Added missing fragments for Clay Cowgill 2019-08-28 09:56:00 +02:00
jespergravgaard
abdf3c3adb Added missing fragments for Clay Cowgill 2019-08-27 22:45:18 +02:00
jespergravgaard
70aaeafecc Added test for til parameter type problem. 2019-08-27 19:15:32 +02:00
jespergravgaard
f9a7904acb Added missing signed 16bit copy fragment. 2019-08-27 18:39:24 +02:00
Jesper Gravgaard
b6d917a264 Added missing fragment. Added test for literal string pointer cast to word. 2019-08-27 14:54:49 +02:00
Jesper Gravgaard
a1fc0ace62 Added test showing inline ASM preserving called functions. 2019-08-27 14:31:30 +02:00
Jesper Gravgaard
fc3b7bd5c0 Added test illustrating problem with bitwise not and literal number type inference. 2019-08-27 13:26:55 +02:00
Jesper Gravgaard
5b71c50a90 Added tests for kickasm uses variable version problem. 2019-08-27 12:49:17 +02:00
Jesper Gravgaard
8ba337088d Added tests for .
Updated version number to 0.7.9
0.7.9
2019-08-27 12:01:20 +02:00
jespergravgaard
00c9b47481 Added support for specifying that inline kickasm uses a procedure - preventing it from being culled. Closes 2019-08-26 19:31:55 +02:00
jespergravgaard
452b9d2ae6 Fixed tests & fragment. 2019-08-26 00:55:22 +02:00
jespergravgaard
0dc8d5e735 Added fragments from Richard-William Loerakker 2019-08-26 00:23:05 +02:00
jespergravgaard
8e02a13dd3 Added a missing fragment. 2019-08-25 23:27:10 +02:00
jespergravgaard
b97d8300b3 Added another example of loophead optimization giving wrong return value. 2019-08-25 22:57:23 +02:00
jespergravgaard
2739456cc3 Added test for optimizing comparisons to types outside range of type. Added a missing fragment (that won't be used when the optimization is implemented). 2019-08-25 22:44:06 +02:00
jespergravgaard
3aad07f4e1 Disabled constant loop head optimization by default (until the two known issues have been fixed.) 2019-08-25 22:21:58 +02:00
jespergravgaard
19e53bf6fd Implemented handling of expr-statements that do not produce a statement - this forces an assignment to a tmp-var (which means that it will be type-checked and more). Closes 2019-08-25 21:37:10 +02:00
jespergravgaard
c75e788fd1 Fixed problems casting strings to void*. Closes 2019-08-25 15:54:09 +02:00
jespergravgaard
bfe90bdf04 Better error when encountering continue in switch that is not inside loop. Closes 2019-08-25 15:01:04 +02:00
jespergravgaard
0fb90dc8b7 Fixed problem casting a constant pointer to char. Closes 2019-08-25 14:51:07 +02:00
jespergravgaard
56b0026452 Fixed error message when encountering non-integer number. Closes 2019-08-25 14:38:44 +02:00
jespergravgaard
0456279c94 Moved AsmFormat 2019-08-25 14:31:11 +02:00
jespergravgaard
5229b24ae7 better javadoc and names. 2019-08-25 14:19:37 +02:00
jespergravgaard
41fddfd25c Improved handling of ASM multi-labels. 2019-08-25 14:10:36 +02:00
jespergravgaard
d3fa1f3743 Cleaned up lexer/parser. Added test of using ASM mnemonic as C symbol name. 2019-08-25 13:53:54 +02:00
jespergravgaard
26e96d085a Centralized and optimized ASM name fixing. 2019-08-25 13:35:30 +02:00
jespergravgaard
87268abc2a Added modes to lexer. 2019-08-25 13:07:21 +02:00
jespergravgaard
cb7469baf3 Improved lexer/parser 2019-08-25 11:38:42 +02:00
jespergravgaard
c237c323f1 Improved lexer/parser 2019-08-25 11:26:30 +02:00
jespergravgaard
d9321907ea Separated lexer and parser in ANTLR parser. 2019-08-25 11:00:49 +02:00
jespergravgaard
91a7f0bb0d Implemented CParser, which handles imports at the token level. 2019-08-25 00:20:50 +02:00
jespergravgaard
f4032e6c84 Addes parser/lexer state ensuring that typedefs are recognized as types. Closes 2019-08-24 14:30:21 +02:00
jespergravgaard
bb53f0b51d Addes parser/lexer state ensuring that ASMREL labels does not get confused with negated struct references. Closes 2019-08-24 14:11:45 +02:00
jespergravgaard
5642c8d228 Added pointer ANDing test case. 2019-08-24 12:18:56 +02:00
jespergravgaard
5d6fbcb42c Improved static var usage. 2019-08-23 00:19:10 +02:00
jespergravgaard
03f4530da7 Implemented typedef logic using (static)members/actions . 2019-08-23 00:15:17 +02:00
jespergravgaard
0938fa2448 Added 2 fragments for Clay Cowgill 2019-08-22 23:14:27 +02:00
jespergravgaard
4c6014e448 Added 2 fragments for Clay Cowgill 2019-08-22 23:12:33 +02:00
jespergravgaard
a3b3eadeef Moved test. 2019-08-22 13:18:01 +02:00