1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-02-13 13:33:32 +00:00

1801 Commits

Author SHA1 Message Date
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. 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
jespergravgaard
33c39bfd52 Fixed error in fragment doing *(ptr)++ 2019-09-07 16:23:34 +02:00
jespergravgaard
71fc963145 Improved error reporting when generating ASM statement fails. Added missing fragment. Added another test showing problems with number resolving. 2019-09-07 16:14:08 +02:00
jespergravgaard
f09b1616c2 Added -Wfragment option that replaces error with warning when a fragment is missing. 2019-09-06 22:32:18 +02:00
jespergravgaard
01008ccb26 Optimized Pass2AssertSymbols and PassNCalcLiveRangeVariables. 2019-09-06 07:44:09 +02:00
jespergravgaard
daa963dbbb Added missing fragment for Paul Nelsen 2019-09-04 23:30:19 +02:00