1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-12-11 19:49:32 +00:00
Commit Graph

2777 Commits

Author SHA1 Message Date
jespergravgaard
ff2afd7c9e added fragment. 2021-11-03 06:54:43 +01:00
jespergravgaard
73006553bd added fragments. 2021-10-26 09:20:09 +02:00
jespergravgaard
0872f333ff added fragment. 2021-10-22 00:41:38 +02:00
jespergravgaard
c372a963c5 added fragment. 2021-10-22 00:39:54 +02:00
jespergravgaard
1afd62dc7c added fragment. 2021-10-21 00:32:04 +02:00
jespergravgaard
29a4c0feda Added test demonstrating problem with using $ff as temporary zp in fragments. 2021-10-21 00:24:59 +02:00
jespergravgaard
c3a1f12771 Added fragments for @Sepa. 2021-10-20 13:33:58 +02:00
jespergravgaard
b35152fb26 Added fragment for mega65 cpu. 2021-10-20 00:11:13 +02:00
jespergravgaard
329d3f505e Added fragment for @Sepa 2021-10-19 23:28:47 +02:00
jespergravgaard
700397f67d Added 1536 dots. 2021-10-19 17:43:12 +02:00
jespergravgaard
69832e87b9 Updated dependent libraries. 2021-10-19 10:39:59 +02:00
jespergravgaard
f962948ef8 Upgraded ANTLR. Improved clobber handling in inline kickasm. 2021-10-19 10:10:47 +02:00
jespergravgaard
ae21d82383 Added fragment for @Sepa 2021-10-18 21:34:11 +02:00
jespergravgaard
7c73c20033 Added fragments. 2021-10-17 08:55:22 +02:00
jespergravgaard
85714461d5 Updated fragment cache. 2021-10-14 08:16:35 +02:00
jespergravgaard
040c915d0c Added missing test and fragments. 2021-10-14 08:08:26 +02:00
jespergravgaard
a74a36df35 Added missing test. 2021-10-14 08:07:42 +02:00
jespergravgaard
e826accb9c Fixed problem where constant bool return causes ASM compile error. Closes #719 2021-10-14 08:02:06 +02:00
jespergravgaard
a69fb9c419 Added fragments from @Majikeyric 2021-10-13 22:20:34 +02:00
jespergravgaard
a391f9cd76 Added fragments from @Majikeyric 2021-10-13 21:29:46 +02:00
jespergravgaard
fbb15ea4a3 Added fragments from @Majikeyric 2021-10-12 08:26:15 +02:00
jespergravgaard
929ecd9cc0 Updated two tests. 2021-10-11 08:00:48 +02:00
jespergravgaard
d6af9dd779 Added two fragments for @Sepa. 2021-10-11 07:48:38 +02:00
jespergravgaard
049bceeaf5 Added Z-register optimizations for mega65gs02 CPU. Thanks @Majikeyric. Closes #718 2021-10-08 01:31:00 +02:00
jespergravgaard
ecf476c6a6 Added missing fragments for @Sepa. 2021-10-07 07:11:49 +02:00
jespergravgaard
30a36580a9 Added missing fragments for @Sepa. 2021-10-07 07:11:12 +02:00
jespergravgaard
1c941b86a6 Added support for specifying CONIO screen/color address and default text color using a #define. Thanks to @Sepa for contributing the code. 2021-10-05 22:08:56 +02:00
jespergravgaard
47e2bfbd19 Added fragments from Eric Majikeyric 2021-10-02 10:14:29 +02:00
jespergravgaard
2b79836d2a Fixed tests. 2021-09-28 00:01:07 +02:00
jespergravgaard
c1e7d37ac7 Updated too kickasm 5.22. Fixed tests. 2021-09-27 23:37:44 +02:00
jespergravgaard
a570dd36d6 Updated too kickasm 5.22 2021-09-27 23:00:31 +02:00
jespergravgaard
7122972d7c Improved #pragma zp_reserve in example code. 2021-09-27 00:44:49 +02:00
jespergravgaard
40043c195b Improved #pragma zp_reserve in example code. 2021-09-27 00:33:45 +02:00
jespergravgaard
ec78f4932c Added a few fragments and a test of an array of structs with a function pointer. 2021-09-27 00:06:43 +02:00
jespergravgaard
5f7d7c45be Added CBM keyboard test using GETIN(). 2021-09-26 22:27:44 +02:00
jespergravgaard
3e979a4ebb Merge remote-tracking branch 'origin/master' 2021-09-26 00:34:21 +02:00
jespergravgaard
04734ee965 Updated to KickAss 5.21 2021-09-26 00:34:10 +02:00
jespergravgaard
5b7bec66e8 Added #pragma resource() for resource files resource files not referenced in inline KickAsm (for instance in the linker file). Closes #664 2021-09-25 22:04:47 +02:00
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 #712 2021-09-23 08:24:56 +02:00
Jesper Gravgaard
1f91617ad1 Renamed non-relocatable variables to hardware/hardcoded. #712 2021-09-23 07:49:19 +02:00
Jesper Gravgaard
74cc8bd1f6 Added support for non-relocatable main memory variables. #712 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 #717. 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. #712 2021-08-17 07:48:58 +02:00
jespergravgaard
1294d0b7a2 Fixed multiplication rewriting to shift/add to also support const*var. Closes #201 2021-08-15 00:47:58 +02:00
jespergravgaard
db4fe786a7 Fixed multiplication rewriting to shift/add to also support const*var. Closes #201 2021-08-15 00:47:48 +02:00
jespergravgaard
31ecd6a2c5 Added support for passing NULL-parameters. Closes #706 2021-08-15 00:02:46 +02:00
jespergravgaard
93d19035ca Added test demonstrating problem with NULL parameter. #706 2021-08-14 23:24:13 +02:00
jespergravgaard
39f79b668b Fixed test. Added struct_model to platform .TGT-file. Closes #716 2021-08-13 22:50:09 +02:00
jespergravgaard
940e0813be Added sprintf(). Closes #715 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 #698 2021-08-13 21:22:17 +02:00
jespergravgaard
ea760e4731 Added support for snprintf(). Closes #698 2021-08-13 20:06:59 +02:00
jespergravgaard
72471bbcd0 Rewrote printf() to use a putc() function pointer. Working on #698 2021-08-13 09:19:33 +02:00
jespergravgaard
728a5ae7e3 Removed ASM directive keywords (resource/uses/clobbers/bytes/cycles). Closes #696 2021-08-11 00:55:08 +02:00
jespergravgaard
650592fc66 Added commandline option -struct_model to specify the struct model. Closes #707 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 #708 2021-08-09 01:48:50 +02:00
jespergravgaard
92755c6287 Added support for indirect calls to advanced expressions through a new fragment type. Closes #708 2021-08-09 00:51:28 +02:00
jespergravgaard
66a1222fdb Added support for indirect calls to advanced expressions through a new fragment type. Closes #708 2021-08-08 17:45:56 +02:00
jespergravgaard
77db0e8701 Added support for calling a pointer to function without(*). Closes #692 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 #702 2021-08-08 02:15:02 +02:00
jespergravgaard
6cd1b4928e Added memcmp() to <string.h>. Closes #699 2021-08-08 00:50:34 +02:00
jespergravgaard
912f93b93b Added strncmp() and strcmp() to <string.h>. Closes #700 2021-08-08 00:29:59 +02:00
jespergravgaard
f60e1240e2 Added support for sizeof without parenthesis. Closes #695 2021-08-07 17:21:47 +02:00
jespergravgaard
1deb381c57 Added support for labels and goto. Closes #687 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 #703 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 #697 2021-08-06 11:03:16 +02:00
jespergravgaard
f01db23d0d Added another test for structs with char* members. Closes #397 2021-08-06 09:41:43 +02:00
jespergravgaard
41f50629c4 Added support for names of preprocessor macros with parameters to be used. Closes #693 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 #562 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 #645 2021-08-05 12:17:40 +02:00
jespergravgaard
8c83c21a0f Added support for character escape sequence '\\'. Closes #504 2021-08-04 17:08:40 +02:00
jespergravgaard
66b73ddd56 Added support for character escape sequence '\0'. Closes #642 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 #588 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
jespergravgaard
3557cf178f Changed 'export' into '__export'. Updated test data. Closes #572 2021-08-02 23:46:05 +02:00
jespergravgaard
79a83e7517 typedef enum values have been fixed. Closes #586 2021-08-02 23:05:37 +02:00
jespergravgaard
4f2ae64cac #pragma struct_model(classic) fixes problem with variable instances of structs with array members. Closes #587 2021-08-02 23:00:15 +02:00
jespergravgaard
6c4d0488b9 Added support for || , && and ! in preprocessor expressions. Closes #646 2021-08-02 22:48:23 +02:00
jespergravgaard
22abed306c Added support for 2021-08-02 22:47:39 +02:00
jespergravgaard
bc0fcc50fd Added NULL pointer to standard library. Closes #647 2021-08-02 22:30:04 +02:00
jespergravgaard
8b69a1f583 Struct Array problems fixed with #pragma struct_model(classic). Closes #590 2021-08-02 12:43:47 +02:00
jespergravgaard
689246780e Added WeeIP test of complex array of structs with char* members. Improved error message when applying member reference operator to non-struct. 2021-08-02 12:18:43 +02:00
jespergravgaard
6f69add10a Added WeeIP test of complex array of structs with char* members. Improved error message when applying member reference operator to non-struct. 2021-08-02 12:16:20 +02:00
jespergravgaard
77b7785470 Fixed cast of reference to constant string. Closes #298 2021-08-02 11:37:45 +02:00
jespergravgaard
41c257a9df Fixed literal strings initializing char* in array or struct. Closes #297 2021-08-02 11:21:18 +02:00
jespergravgaard
1898956932 Fixed test. 2021-08-02 08:13:50 +02:00
jespergravgaard
66cfcc4824 Fixed problem with illegal call giving exception. Closes #689 2021-08-02 08:00:08 +02:00
jespergravgaard
dbd8a3cbac Fixed problem with macros with empty parameter lists. Closes #688 2021-08-02 07:52:50 +02:00
jespergravgaard
9bcda2cb67 Added complex test for function pointers. Closes #121 2021-08-01 23:27:59 +02:00
jespergravgaard
f2f9b79ece Added support for short / long / signed types (without int). Closes #681 2021-08-01 20:52:23 +02:00
jespergravgaard
82dd27e627 Parameters and return values now work for calling convention stack. Pointers to functions with parameters/return values now work. Parameter transfer through stack of structs/unions now work. #121 2021-08-01 17:24:12 +02:00
jespergravgaard
599a757bf1 Added missing fragment and strncpy() to string.h. 2021-07-29 23:04:05 +02:00
jespergravgaard
d372383d48 Fixed problem with typedef enum. Closes #686 2021-07-29 22:29:49 +02:00
jespergravgaard
8c77cbb45a Updated cache 2021-07-29 21:14:07 +02:00
jespergravgaard
7dbb73e8bd Added support for silent truncation from int/long to char. Closes #684 2021-07-29 21:13:39 +02:00
jespergravgaard
d6179a0b3c Added support for upper case integer suffixes eg. 1234U. Closes #682 2021-07-29 19:26:36 +02:00
jespergravgaard
825a3b79a5 Added support for unsigned integer suffix U eg. 1234U. Closes #682 2021-07-29 19:12:05 +02:00
jespergravgaard
9d2e3f299e Added MEGA65 hypervisor inludes. 2021-07-29 19:01:18 +02:00
jespergravgaard
2cc8c94d63 Improved error message during preprocessor expansion. Closes #683 2021-07-29 19:00:48 +02:00
jespergravgaard
ec8c555816 Added some bits & bops from WeeIP for testing unions. #197 2021-07-28 00:23:40 +02:00
jespergravgaard
e528f44570 Working on classic unions - return values. #197 2021-07-27 23:20:25 +02:00
jespergravgaard
cf44674bee Working on classic unions. #197 2021-07-27 22:43:06 +02:00
jespergravgaard
ea70b1f2e3 Working on classic unions. #197 2021-07-27 22:32:54 +02:00
jespergravgaard
5050079229 Working in classic structs. #197 2021-07-27 20:11:30 +02:00
jespergravgaard
c67d4d6ec9 Working in classic structs. #197 2021-07-27 19:38:51 +02:00
jespergravgaard
1df68ee4d8 Working on eliminating memcpy() statements when using classic structs. #197 2021-07-27 19:11:14 +02:00
jespergravgaard
5fec69e3f1 Working on classic structs. #197 2021-07-26 12:15:15 +02:00
jespergravgaard
47d6ea3f9a Working in classic structs. #197 2021-07-25 22:30:22 +02:00
jespergravgaard
6d39582e5f Working in classic structs. #197 2021-07-25 22:06:49 +02:00
jespergravgaard
08bb1aa9a0 Working on classic structs and unions. #197 2021-07-25 02:21:45 +02:00
jespergravgaard
f50cbf3cf1 Working on classic structs and unions. #197 2021-07-25 02:21:25 +02:00
jespergravgaard
29633a2479 Working on varcall calling convention, structs and unions. #197 #372 2021-07-24 11:33:07 +02:00
jespergravgaard
fa937d4874 Added support for union default initializers (initializing the first element) including any necessary padding to reach the right byte size. #197 2021-07-23 17:26:47 +02:00
jespergravgaard
16234fefa0 Added union syntax and support for very simple unions. Still need some work to support passing as parameters and more. #197 2021-07-22 21:05:48 +02:00
jespergravgaard
eee018847c Added a test of nested struct definitions. 2021-07-22 09:14:16 +02:00
jespergravgaard
88c26c2507 Added fragments. Fixed problem in CIA timer library and tests. 2021-07-22 01:16:59 +02:00
jespergravgaard
bd15b53cab Added missing fragment 2021-07-16 13:55:58 +02:00
jespergravgaard
3dff5d04fb Fixed exception "Block referenced, but not found in program" when encountering complex if(&&). Closes #676 2021-07-07 08:47:44 +02:00
jespergravgaard
72c5c7d537 Added test. 2021-07-03 00:21:22 +02:00
jespergravgaard
6e80a72cc2 Updated caches 2021-07-03 00:19:26 +02:00
jespergravgaard
c740b9f487 Added MAKELONG4() constant identification and removed need for declaration in source. Closes #675 2021-07-02 21:56:23 +02:00
jespergravgaard
56e9346eb1 Added MAKELONG4(). Closes #675 2021-07-02 21:06:09 +02:00
jespergravgaard
1eb61b9c9d Added MAKEWORD() and MAKELONG(). Removed support for initializer lists for initializing word/dword. Closes #668 2021-07-02 00:33:29 +02:00
jespergravgaard
ff770cb0d7 Added MAKEWORD() and MAKELONG(). Removed support for initializer lists for initializing word/dword. #668 2021-07-02 00:21:25 +02:00
jespergravgaard
3013352b2e Added MAKEWORD() and MAKELONG(). Removed support for initializer lists for initializing word/dword. #668 2021-07-02 00:21:08 +02:00
jespergravgaard
79f85b439f Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-30 00:58:50 +02:00
jespergravgaard
62b79212cb Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-30 00:05:01 +02:00
jespergravgaard
04ce973d0d Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-29 23:00:49 +02:00
jespergravgaard
a540f1015f Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-29 22:54:28 +02:00
jespergravgaard
bf52297c73 Now synthesizing _deref_p..c. fragments using v..m. Closes #674 2021-06-29 00:49:38 +02:00
jespergravgaard
eec9f260df Added fallback to ZP-addressing if inline ASM instruction does not support absolute addressing. Closes #673 2021-06-26 09:46:46 +02:00
jespergravgaard
8d797ac308 Improved sign extension in fragments. 2021-06-23 09:57:58 +02:00
jespergravgaard
822d168dd8 Improved sign extension in fragments. 2021-06-23 09:40:48 +02:00
jespergravgaard
4628870166 Added missing fragments. 2021-06-21 14:29:35 +02:00
jespergravgaard
866460d942 Improved doxygen documentation. #672 2021-06-20 12:59:27 +02:00
jespergravgaard
2b882e6a50 Improved doxygen documentation. #672 2021-06-20 12:45:52 +02:00