1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2025-01-11 20:30:08 +00:00

2734 Commits

Author SHA1 Message Date
jespergravgaard
9fc9d525cf Added test. 2021-09-25 21:33:23 +02:00
jespergravgaard
063512c3f1 When fixing long branch fails the compile stops with KickAss error output. 2021-09-25 21:22:20 +02:00
jespergravgaard
075974063a Added -vfixlongbranch to give more info about the fix long branch pass. 2021-09-25 19:59:45 +02:00
Jesper Gravgaard
5d6fcca6c2 Allocation of zp/memory to variables is now prioritized by the calculated weight of the variable. This ensures that the most used variables are kept on zeropage when variables spill over into main memory. Closes 2021-09-23 08:24:56 +02:00
Jesper Gravgaard
1f91617ad1 Renamed non-relocatable variables to hardware/hardcoded. 2021-09-23 07:49:19 +02:00
Jesper Gravgaard
74cc8bd1f6 Added support for non-relocatable main memory variables. 2021-09-23 07:43:24 +02:00
jespergravgaard
d09f4e2219 added test refs 2021-09-03 17:56:28 +02:00
jespergravgaard
be69833ff2 Added test with working work-around for . 2021-09-02 07:56:03 +02:00
jespergravgaard
1f133e34e9 Added very naive support for zeropage overflow to main memory upon exhaust. TODO - overflow low priority variables. 2021-08-17 07:48:58 +02:00
jespergravgaard
1294d0b7a2 Fixed multiplication rewriting to shift/add to also support const*var. Closes 2021-08-15 00:47:58 +02:00
jespergravgaard
db4fe786a7 Fixed multiplication rewriting to shift/add to also support const*var. Closes 2021-08-15 00:47:48 +02:00
jespergravgaard
31ecd6a2c5 Added support for passing NULL-parameters. Closes 2021-08-15 00:02:46 +02:00
jespergravgaard
93d19035ca Added test demonstrating problem with NULL parameter. 2021-08-14 23:24:13 +02:00
jespergravgaard
39f79b668b Fixed test. Added struct_model to platform .TGT-file. Closes 2021-08-13 22:50:09 +02:00
jespergravgaard
940e0813be Added sprintf(). Closes 2021-08-13 22:31:54 +02:00
jespergravgaard
5e18953517 Added test. 2021-08-13 22:03:52 +02:00
jespergravgaard
48f4e99826 Added support for snprintf(). Closes 2021-08-13 21:22:17 +02:00
jespergravgaard
ea760e4731 Added support for snprintf(). Closes 2021-08-13 20:06:59 +02:00
jespergravgaard
72471bbcd0 Rewrote printf() to use a putc() function pointer. Working on 2021-08-13 09:19:33 +02:00
jespergravgaard
728a5ae7e3 Removed ASM directive keywords (resource/uses/clobbers/bytes/cycles). Closes 2021-08-11 00:55:08 +02:00
jespergravgaard
650592fc66 Added commandline option -struct_model to specify the struct model. Closes 2021-08-11 00:25:57 +02:00
jespergravgaard
8a38c2a887 Using C declaration format for types in logs, errors, comments and more. 2021-08-10 17:48:55 +02:00
jespergravgaard
ac9dbc88a8 Added toCDecl() that cn print variables and types in standard C declaration format. 2021-08-10 00:54:20 +02:00
jespergravgaard
dfa0109613 Added advanced call fragment. 2021-08-09 01:54:22 +02:00
jespergravgaard
d3ed5f774f Added support for advanced indirect calls. Calls are now fragments. Added support for @outside_flow ASM tag placing ASM at the end of the current scope. Added support for expanding label names in ASM fragments. Closes 2021-08-09 01:48:50 +02:00
jespergravgaard
92755c6287 Added support for indirect calls to advanced expressions through a new fragment type. Closes 2021-08-09 00:51:28 +02:00
jespergravgaard
66a1222fdb Added support for indirect calls to advanced expressions through a new fragment type. Closes 2021-08-08 17:45:56 +02:00
jespergravgaard
77db0e8701 Added support for calling a pointer to function without(*). Closes 2021-08-08 13:47:48 +02:00
jespergravgaard
8514c9942e Updated test data. 2021-08-08 09:25:10 +02:00
jespergravgaard
bcc46fd8ff Added support for automatically converting function names to function pointers. Closes 2021-08-08 02:15:02 +02:00
jespergravgaard
6cd1b4928e Added memcmp() to <string.h>. Closes 2021-08-08 00:50:34 +02:00
jespergravgaard
912f93b93b Added strncmp() and strcmp() to <string.h>. Closes 2021-08-08 00:29:59 +02:00
jespergravgaard
f60e1240e2 Added support for sizeof without parenthesis. Closes 2021-08-07 17:21:47 +02:00
jespergravgaard
1deb381c57 Added support for labels and goto. Closes 2021-08-07 17:05:09 +02:00
jespergravgaard
5ee8749d06 Removes space 2021-08-07 10:41:06 +02:00
jespergravgaard
5439910ae3 Improved parameter type errors to show expected and actual types. Closes 2021-08-07 10:32:20 +02:00
jespergravgaard
8c27abb7e0 Fixed problem where SymbolTypeInference gave error messages without any line number - by removing all error messages - and leaving the responsibility with the caller. 2021-08-06 16:17:48 +02:00
jespergravgaard
ce8e34b16a Fixed problem with automatic C-file loading included the same file twice. Closes 2021-08-06 11:03:16 +02:00
jespergravgaard
f01db23d0d Added another test for structs with char* members. Closes 2021-08-06 09:41:43 +02:00
jespergravgaard
41f50629c4 Added support for names of preprocessor macros with parameters to be used. Closes 2021-08-06 01:59:25 +02:00
jespergravgaard
c5c6a2dcdb Merge remote-tracking branch 'origin/master' 2021-08-05 22:33:54 +02:00
jespergravgaard
dddf6db181 Added support for int main(int argc, char **argv). Closes 2021-08-05 22:33:46 +02:00
jespergravgaard
45410860ad Added a few missing fragments. 2021-08-05 16:29:34 +02:00
jespergravgaard
e58bff087e Fixed problem with escaping double quotes correctly in chars. Closes 2021-08-05 12:17:40 +02:00
jespergravgaard
8c83c21a0f Added support for character escape sequence '\\'. Closes 2021-08-04 17:08:40 +02:00
jespergravgaard
66b73ddd56 Added support for character escape sequence '\0'. Closes 2021-08-04 16:50:51 +02:00
jespergravgaard
3757733876 Added support for structs larger than 256 bytes. sizeof() now also changes to word when >256 bytes. Added some memcpy/memset fragmenst for large structs. Closes 2021-08-03 01:52:06 +02:00
jespergravgaard
7493c4041c Updated fragment caches. 2021-08-03 00:42:42 +02:00
jespergravgaard
3d7e569820 Updated fragment caches. 2021-08-03 00:42:33 +02:00
jespergravgaard
e3fdefd2ae Added missing fragments. 2021-08-03 00:38:16 +02:00