1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-21 02:24:34 +00:00
Commit Graph

1354 Commits

Author SHA1 Message Date
jespergravgaard
8d7b0385cb Fixed type inference error message. Closes #260 2019-08-13 08:08:43 +02:00
jespergravgaard
c9a3f33773 Implemented switch()-statement - first simple test working. #170 2019-08-12 21:46:01 +02:00
jespergravgaard
46b88d8cf0 Added start of code for switch 2019-08-12 00:18:48 +02:00
jespergravgaard
88cc028285 Added example of cast error giving an exception. #260 2019-08-11 23:59:29 +02:00
jespergravgaard
c10d646a5d Added syntax for switch-statement. #170 2019-08-11 23:32:24 +02:00
jespergravgaard
1dd2f1ebe6 Improved basic-floats.kc 2019-08-11 01:16:56 +02:00
jespergravgaard
a4472e0778 Added .ld-files to assembly 2019-08-10 23:58:49 +02:00
jespergravgaard
a4fc6db4c2 Added missing fragments. Closes #251 2019-08-10 20:49:00 +02:00
jespergravgaard
ffa75b1732 Expanded "used" logic of inine ASM to include procedure refs. 2019-08-10 18:27:05 +02:00
jespergravgaard
074826fb1f Playing a little with XMega helloworld. 2019-08-10 16:48:47 +02:00
jespergravgaard
7484e27a32 Working helloworld for XMega65 Xemu. 2019-08-10 15:41:32 +02:00
jespergravgaard
c82234db19 Fixed problem with for() continue. 2019-08-10 15:07:51 +02:00
jespergravgaard
da56d74339 Merged IcePic/master fragments. Thanks to Janne Johansson. #248 2019-08-10 14:41:46 +02:00
jespergravgaard
741f424116 Merged IcePic/master fragments. Thanks to Janne Johansson. #248 2019-08-10 14:41:30 +02:00
jespergravgaard
65bf7be4d7 Added support for export directive on data variables ensuring they are always included in the output ASM even if not used. Closes #252 2019-08-10 09:02:35 +02:00
jespergravgaard
7b155ee4b0 Added support for register keyword without parameter for compatibility. Closes #229 2019-08-10 08:39:42 +02:00
jespergravgaard
5755616588 Changed syntax slightly 2019-08-10 08:21:58 +02:00
jespergravgaard
e53159699b Implemented Xmega65 SYSCALLS. 2019-08-10 00:22:57 +02:00
jespergravgaard
4430974f25 Implemented Xmega65 SYSCALLS. 2019-08-10 00:17:55 +02:00
jespergravgaard
d70fbe4c34 Implemented Xmega65 SYSCALLS. 2019-08-10 00:16:33 +02:00
jespergravgaard
dbb6ce5933 Added support for #pragma code_seg() and #pragma data_seg(). #113 2019-08-09 22:38:33 +02:00
Jesper Gravgaard
6b0ef4408c Added test data. 2019-08-09 17:50:02 +02:00
Jesper Gravgaard
558f166dd4 Implemented #pragma link() and -T for specifying custom linking script. #113 2019-08-09 17:07:11 +02:00
Jesper Gravgaard
313d45fd03 Improved target platform handling. 2019-08-09 16:11:28 +02:00
jespergravgaard
8f0b9c886f Implemented initial KickAsm segment support. #113 2019-08-09 11:31:08 +02:00
jespergravgaard
9a54c0f814 Attempt at making a release root dir. #235 2019-08-09 00:03:59 +02:00
jespergravgaard
d3081d3fe1 Renamed AsmSegment to AsmChunk in preparation for introduction of KickAsm segments. #113 2019-08-08 23:46:43 +02:00
jespergravgaard
fe93a48360 Renamed AsmSegment to AsmChunk in preparation for introduction of KickAsm segments. #113 2019-08-08 23:37:43 +02:00
jespergravgaard
31a3bd9078 Added #pragma keyword. Closes #250 2019-08-08 21:49:18 +02:00
Jesper Gravgaard
ab28c25528 Added #pragma syntax 2019-08-08 13:16:17 +02:00
Jesper Gravgaard
c7386277e2 Separated local and global directives in syntax. 2019-08-08 13:10:23 +02:00
jespergravgaard
db3e77d8fd Added NMI sample example. 2019-08-07 21:35:40 +02:00
jespergravgaard
7a49ded40c Now all instructions addressing zero-page have an explicit .z added to the ASM to ensure the ASM generated does zeropage-addressing. Closes #249 2019-08-07 21:00:21 +02:00
jespergravgaard
c78bebf2a8 Updated stdlib & tests with 0-terminated strings. 2019-08-07 19:48:56 +02:00
jespergravgaard
6c59110896 Fixed encoded string zero termination. Closes #192 2019-08-07 19:36:19 +02:00
Jesper Gravgaard
62b03bcefb Fixed encoding for literal chars through work-around. Closes #245 2019-08-07 14:58:57 +02:00
Jesper Gravgaard
7ba7af9d55 fixed boolean off-by-one. 2019-08-07 13:51:39 +02:00
Jesper Gravgaard
ce5e3cf19a Added constant loop head optimization, that detects when the condition is constant in the first loop iteration. Closes #246 2019-08-07 13:22:05 +02:00
jespergravgaard
b2804ef335 Added a smaller sieve. 2019-08-07 11:35:15 +02:00
jespergravgaard
dacd25ac5f Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
2019-08-07 11:27:56 +02:00
jespergravgaard
c88932d423 Added constant loop-head detection to a switchable optimization option -Oloophead. #246
Implemented for()-loop condition checking before body. Closes #183
2019-08-07 11:09:29 +02:00
jespergravgaard
be4983cb13 Implemented for()-loop condition checking before body. #183
Moved constant loop-head detection to switchable optimization option.
2019-08-07 10:56:41 +02:00
jespergravgaard
0a58b03094 Constant loop head identification working. #246 is essentially complete. A few program grow to much from the optimization - this needs attention at some point. 2019-08-07 01:32:46 +02:00
Janne Johansson
1df35712fc cant get tests to pass with this fragment in 2019-08-06 21:57:16 +02:00
Janne Johansson
af194de38e Missing EOL 2019-08-06 20:47:12 +02:00
Janne Johansson
e34ace5f48 accidental compare got left by mistake 2019-08-06 20:46:28 +02:00
Janne Johansson
6de8113e7d make bcs the alternative to bcc instead of jmp 2019-08-06 20:26:06 +02:00
Janne Johansson
6502c0dbc3 a few more fragments 2019-08-06 13:44:06 +02:00
jespergravgaard
50b59555fc Added bool-ifs-min test demonstrating problem with constant loop head optimization 2019-08-06 09:08:10 +02:00
jespergravgaard
e167f8dce8 Fixed almost all problems in constant loop head identification. A few program becomes infinite loops - needs fixing! A few also become way to long when rewritten - probably detect & rollback. 2019-08-06 01:10:57 +02:00