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

513 Commits

Author SHA1 Message Date
jespergravgaard
24e40b9083 Fixed signed word greater-than fragments with errors. Progress on structs containing arrays elements. #312 2019-09-12 23:48:12 +02:00
jespergravgaard
f110b86ee1 Fixed _deref(_deref_pptc1) fragments to handle {c1}>255. Added simpler test for struct containing array problem. #312 2019-09-10 00:18:31 +02:00
jespergravgaard
4ab1cac029 Added missing test data 2019-09-09 23:29:18 +02:00
jespergravgaard
5fe5c9f84b Added missing struct-ptr fragments. Added padding to initialization of fixed size arrays with to few elements in the initializer. Closes #311 2019-09-09 23:01:04 +02:00
jespergravgaard
d6ad2c3b9b Added missing fragment. Fixed exception when casting literal string. Closes #309 2019-09-09 15:51:39 +02:00
Jesper Gravgaard
1a6be50c70 Working on CPU/ROM support. #307 2019-09-08 16:26:25 +02:00
jespergravgaard
3d0871f757 Added support for #pragma cpu(). Added test of program without illegal opcodes. Closes #303 2019-09-08 02:29:20 +02:00
jespergravgaard
9f01a27df0 Moved illegal opcode fragments to 6502X. #303 2019-09-08 01:48:56 +02:00
jespergravgaard
62f9d7c9d9 Added initial support for specifying which CPU to compile to. #303 2019-09-08 01:35:38 +02:00
jespergravgaard
32ead9cc87 One more optimization. 2019-09-07 22:31:24 +02:00
jespergravgaard
7fb7d3acf6 Optimized live ranges by statement idx in PassNLiveRangeVariables. Added example of how to use segments to compile code meant for transfer to zeropage. 2019-09-07 18:23:11 +02:00
jespergravgaard
0bf1363c90 Improved fragment 2019-09-04 23:11:35 +02:00
jespergravgaard
899058ce42 Added fragment for Paul Nelsen. 2019-09-04 23:09:27 +02:00
Jesper Gravgaard
036ff9259c Fixed problem with recursive aliasses (it was caused by a bad alias-replacement earlier). Closes #305
Fixed literal calculation of constant pointer decrement.
2019-09-03 16:16:07 +02:00
jespergravgaard
42ecee2f94 Working on #304, #305, #306. 2019-09-03 08:35:38 +02:00
jespergravgaard
9b113b4bcd Fixed problem with inline ASM culling JMP. Closes #302 2019-09-02 23:35:15 +02:00
Jesper Gravgaard
51cd148433 Implemented detection of constant addresses being <256 - and generating ZP ASM for these. Closes #301 2019-09-01 22:06:32 +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 #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
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
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
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
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
0fb90dc8b7 Fixed problem casting a constant pointer to char. Closes #288 2019-08-25 14:51:07 +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
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
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
5923245630 Added missing fragments for Paul Nelsen 2019-08-22 11:13:52 +02:00
jespergravgaard
c70ac2f440 Fixed tests. 2019-08-22 01:51:32 +02:00
jespergravgaard
642f196786 Fixed switch without default. Closes #285 2019-08-22 01:01:01 +02:00
jespergravgaard
67a9880b94 Added example of Using function as error does not give an error - instead silently throws away the statement. #276 2019-08-21 07:06:11 +02:00
jespergravgaard
d42c7250af Fixed tests. 2019-08-20 00:26:04 +02:00
jespergravgaard
f4777a5876 Added interrupt type hardware_stack which uses the stack for saving the registers. Closes #256 2019-08-20 00:08:49 +02:00
jespergravgaard
733751dbe3 Added parenthesis to fragments when derefs are nested. Closes #270 2019-08-19 23:54:01 +02:00
jespergravgaard
e3427796d3 Added examples of 2 problems 2019-08-19 08:42:48 +02:00
jespergravgaard
0185370732 Fixed problem where code after return resulted in NPE. Closes #273 2019-08-18 23:44:01 +02:00
jespergravgaard
19c0637f1e Fixed relative labels in KickAss 5.9 #272
ASM  now uses literal encoded chars for better readability #245
2019-08-18 23:18:53 +02:00