1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-11-30 09:50:13 +00:00
Commit Graph

1506 Commits

Author SHA1 Message Date
jespergravgaard
3ede41bab1 Added pointify step. Still need to output the var to memory. #328 2019-09-26 10:01:27 +02:00
jespergravgaard
f696f8db18 Added test declaring a memory-variables. #328 2019-09-24 08:55:06 +02:00
jespergravgaard
d312edf024 Added keyword for declaring memory-variables and properties on variable type. #328 2019-09-24 07:58:48 +02:00
jespergravgaard
7a59390644 Fixed recursion checking in loop depth analysis. #316 2019-09-23 23:06:55 +02:00
jespergravgaard
bf9a414099 Java no long does infinite recursion if the C-code does. #316 2019-09-23 22:42:07 +02:00
Jesper Gravgaard
665b9adbfb Added constant for return value offset on stack. Added padding when return value is larger than parameters. Improved calculations of stack frame sizes. #316 2019-09-23 17:53:23 +02:00
jespergravgaard
2b36c5c18b Fixed parameter push type sizes. #316 2019-09-23 08:30:18 +02:00
jespergravgaard
a11929dbd3 Renamed stack pull/push/idx - including fragments. #316 2019-09-23 07:42:13 +02:00
jespergravgaard
cbec257332 Results are now pushed. #316 2019-09-23 00:10:44 +02:00
jespergravgaard
6540d60e60 Fixed clobber-problem with stack-parameter-passing return-values. Results are still not pushed. #316 2019-09-22 23:12:19 +02:00
jespergravgaard
dc08f86302 Working on stack-parameter-passing. Split calls into prepare/execute/finalize. Still some clobber problems and results are not pushed. #316 2019-09-22 22:20:45 +02:00
jespergravgaard
bcddd821ff Renamed stack-manipulating fragments. Added fragment-based stack clean-up. #316 2019-09-20 16:27:50 +02:00
Jesper Gravgaard
5e1c05dc2e Added stack clean-up. Added parameter stack fetch type. #316 2019-09-20 14:19:43 +02:00
jespergravgaard
c6a5c54909 Added test data. 2019-09-20 08:34:51 +02:00
jespergravgaard
4ed3621d9e Added STACK parameter push. #316 2019-09-20 08:18:32 +02:00
jespergravgaard
dfcc4beab2 Added first stack fragment. #316 2019-09-19 08:24:10 +02:00
jespergravgaard
25742f1654 Implemented most of stack based parameter fetching inside procedures. #316 2019-09-19 08:22:54 +02:00
jespergravgaard
51d1e6f41f Changed control flow graph to print procedure signatures. 2019-09-18 23:00:34 +02:00
jespergravgaard
6e767862e8 Added ParamValue RValue for retrieving parameter values in procedures. #316 2019-09-18 22:41:46 +02:00
jespergravgaard
70435aec30 Added tests for different reported problems & fixes. 2019-09-18 21:53:32 +02:00
jespergravgaard
caf8ac6421 Working on stack calling convention. #316 2019-09-18 08:55:18 +02:00
jespergravgaard
9d8a2482ea Fixed fragment for Danny Spijksma 2019-09-17 23:34:24 +02:00
jespergravgaard
a50f614d6a Added missing fragment for Danny Spijksma 2019-09-17 23:28:09 +02:00
jespergravgaard
b70ccac9fa Removed extra assignment for return value. #316 2019-09-17 09:12:34 +02:00
jespergravgaard
e83e44675a Removed extra assignment for return value 2019-09-17 09:11:46 +02:00
jespergravgaard
95f97d842a Added syntax for procedure calling conventions - and a pragma changing the current calling convention. Added two tests. Changed Pass1 procedure-stuff to only handle the PHI calling convention. #316 2019-09-17 01:11:51 +02:00
jespergravgaard
63dbe9bc5e Added fragment for ‎Clay Cowgill‎. 2019-09-16 01:09:25 +02:00
jespergravgaard
f16a29f5f7 Added commandline options for disabling uplift and outputting SIZE info. 2019-09-16 00:51:03 +02:00
jespergravgaard
0ce718371e Fixed problem with adding ints to literal string pointers. Closes #315 2019-09-14 11:21:29 +02:00
jespergravgaard
bc1bb7d2e5 Fixed test 2019-09-14 08:09:34 +02:00
jespergravgaard
4f6908ac80 Fixed double emitting of strings inside arrays inside structs. Closes #312 2019-09-13 23:29:42 +02:00
jespergravgaard
edb12d8577 Moved strings into chunk method. 2019-09-13 21:21:32 +02:00
jespergravgaard
00d6cad179 Moved kickasm data to data chunk. 2019-09-13 20:05:31 +02:00
jespergravgaard
d0a9d81abf Moved filled arrays to addDataChunk() 2019-09-13 11:56:05 +02:00
jespergravgaard
8b441f6814 Arrays of structs with arrays now working - with some minor flaws (Size of sub-array is not checked, Const Strings are output as data twice, ASM for indexing into array inside struct by pointer is not optimal). Closes "274" 2019-09-13 01:23:55 +02:00
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
jespergravgaard
a1f4656f79 Improved selfmod fragments. Added needed fragments that is not self-modifying. Fixed -Wfragment in pass4. 2019-09-09 01:31:21 +02:00
jespergravgaard
8d8dcd78fb Releasing version 0.7.10. 2019-09-09 00:20:55 +02:00
Jesper Gravgaard
f22ebff0fb Moved self-modifying code into the 6502-selfmod feature-set. Closes #307 2019-09-08 22:21:33 +02:00
Jesper Gravgaard
1a6be50c70 Working on CPU/ROM support. #307 2019-09-08 16:26:25 +02:00
jespergravgaard
ce924d03cd Working on CPU/ROM support. #303 #307 2019-09-08 15:28:33 +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