1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-09-08 17:54:40 +00:00
Commit Graph

1438 Commits

Author SHA1 Message Date
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 #287 2019-08-29 22:52:58 +02:00
Jesper Gravgaard
67157f0a70 Implemented interval analysis for detecting conditions that are always true/false. Closes #291 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. #299 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. #298 2019-08-27 14:54:49 +02:00
Jesper Gravgaard
a1fc0ace62 Added test showing inline ASM preserving called functions. #294 2019-08-27 14:31:30 +02:00
Jesper Gravgaard
fc3b7bd5c0 Added test illustrating problem with bitwise not and literal number type inference. #199 2019-08-27 13:26:55 +02:00
Jesper Gravgaard
5b71c50a90 Added tests for kickasm uses variable version problem. #296 2019-08-27 12:49:17 +02:00
Jesper Gravgaard
8ba337088d Added tests for #199 #295.
Updated version number to 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 #294 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. #290 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). #291 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 #276 2019-08-25 21:37:10 +02:00
jespergravgaard
c75e788fd1 Fixed problems casting strings to void*. Closes #281 2019-08-25 15:54:09 +02:00
jespergravgaard
bfe90bdf04 Better error when encountering continue in switch that is not inside loop. Closes #282 2019-08-25 15:01:04 +02:00
jespergravgaard
0fb90dc8b7 Fixed problem casting a constant pointer to char. Closes #288 2019-08-25 14:51:07 +02:00
jespergravgaard
56b0026452 Fixed error message when encountering non-integer number. Closes #286 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 #269 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 #266 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
jespergravgaard
8885aa0fbd Succesfully made proof-of-concept for distinguishing type identifiers (typedefs) from other identifiers. #269 2019-08-22 13:05:29 +02:00
jespergravgaard
2de0744639 Fixed switch test 2019-08-22 12:20:37 +02:00
jespergravgaard
a78ecc0e42 Added test for 32bit long pointer for 45GS02. 2019-08-22 12:15:33 +02:00
jespergravgaard
cda6beb5e0 Added missing fragments for Clay Cowgill 2019-08-22 11:36:43 +02:00