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

1814 Commits

Author SHA1 Message Date
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
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
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
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
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
jespergravgaard
bde31dac4c Improved doxygen documentation. #672 2021-06-19 22:28:44 +02:00
jespergravgaard
78e6ef761f Improved doxygen documentation. #672 2021-06-19 22:11:26 +02:00
jespergravgaard
6f283b886b Moved doxygen to a better image. #672 2021-06-19 21:49:37 +02:00
jespergravgaard
6585f08f55 Updated tests with doxygen standard library documentation. #672 2021-06-19 21:26:05 +02:00
jespergravgaard
924e795c06 Fixed problem where pointer addition and constant consolidation could produce error "Type inference case not handled byte* + byte*". Closes #669 2021-06-17 07:36:49 +02:00
jespergravgaard
0d2b08ef3b Succesfully deprecated lo/hi operators. Closes #667 2021-06-14 08:51:55 +02:00
jespergravgaard
6e32444f9f Working on deprecating lo/hi operators. Closes #667 2021-06-14 08:08:54 +02:00
jespergravgaard
9965ad9ede Working on deprecating lo/hi operators. Closes #667 2021-06-14 08:05:31 +02:00
jespergravgaard
0592a9e7a0 Working on deprecating lo/hi operators. Closes #667 2021-06-14 08:04:08 +02:00
jespergravgaard
10df356dda Working on deprecating lo/hi operators. Closes #667 2021-06-13 14:24:57 +02:00
jespergravgaard
d4f487eecc Working on deprecating lo/hi operators. Closes #667 2021-06-13 13:35:55 +02:00
jespergravgaard
44db8db459 Working on deprecating lo/hi operators. Closes #667 2021-06-13 13:29:49 +02:00
jespergravgaard
fa2378c38d Working on deprecating lo/hi operators. Closes #667 2021-06-13 13:16:20 +02:00
jespergravgaard
a8d84f5e60 Working on deprecating lo/hi operators. Closes #667 2021-06-13 09:47:30 +02:00
jespergravgaard
1028bd1115 Working on deprecating lo/hi operators. Closes #667 2021-06-13 09:27:50 +02:00
jespergravgaard
c2638ff86c Working on deprecating lo/hi operators. Closes #667 2021-06-13 09:23:37 +02:00
jespergravgaard
459c220af3 Working on deprecating lo/hi operators. Closes #667 2021-06-13 08:38:46 +02:00
jespergravgaard
603c53a7d3 Working on deprecating lo/hi operators. Closes #667 2021-06-13 08:22:32 +02:00
jespergravgaard
6850e4a3d9 Working on deprecating lo/hi operators. Closes #667 2021-06-13 07:57:15 +02:00
jespergravgaard
0d2dfb87b3 Working on deprecating lo/hi operators. Closes #667 2021-06-13 00:14:39 +02:00
jespergravgaard
d5759bfb6b Working on deprecating lo/hi operators. Closes #667 2021-06-12 21:11:26 +02:00
jespergravgaard
60e97ee702 Working on deprecating lo/hi operators. Closes #667 2021-06-12 21:08:42 +02:00
jespergravgaard
65847f84b3 Working on deprecating lo/hi operators. Closes #667 2021-06-12 20:57:35 +02:00
jespergravgaard
ff812d6f60 Removed support for LValue unary operator low/high <x >x. Added support for LValue BYTE0(), BYTE1(), ..., WORD0(), .... Closes #667 2021-06-11 21:41:01 +02:00
jespergravgaard
194e851f0d Intermediate variables are now affected by the var_model. Closes #666 2021-06-06 23:34:29 +02:00
jespergravgaard
78e378a8e1 #666 Moved intermediate variable creation into VariableBuilder in preparation for fix of memory area. 2021-06-06 22:23:14 +02:00
jespergravgaard
a24cc6267a Fixed tests. 2021-05-19 09:01:54 +02:00
jespergravgaard
fef4a88204 Minor code clean-up. 2021-05-17 08:32:33 +02:00
jespergravgaard
3d87387ae3 Updated test data. #121 2021-05-16 20:10:40 +02:00
jespergravgaard
f14dfe4252 Moved stack call parameter assignments out of pass 0. Added address-of handling for procedures converting them to stack call if they have parameters. #121 2021-05-16 10:19:21 +02:00
jespergravgaard
55e5e6bca2 Added a test for OutputFileManager. This fixes the problem with -o not being honored always. Closes #644 2021-05-15 12:38:53 +02:00
jespergravgaard
867a816eae Implemented OutputFileManager which ensures that the output directory, basename and extension follows well defined rules. Closes #663 2021-05-15 11:17:17 +02:00
jespergravgaard
f67c2712d3 Fixed support for address-of on arrays. Closes #662 2021-05-14 00:01:58 +02:00
jespergravgaard
3ad844ada1 Fixed problem with auto-casting parameters. Closes #299 2021-05-13 11:42:07 +02:00
jespergravgaard
541b92c55b Implemented support for complex casts and parsing complex type names for sizeof(). #121 2021-05-13 10:26:33 +02:00
jespergravgaard
2ffa6e3ca8 Standard C type parsing now works! #121 2021-05-12 08:58:10 +02:00
jespergravgaard
35fdd06abf Added missing test files and fixed a test. #121 2021-05-11 23:19:29 +02:00
jespergravgaard
d1b7d45372 Implemented function pointer types in standard C syntax. #121 2021-05-11 23:11:51 +02:00
jespergravgaard
d4b8820b1c Removed support for auto-casting integers to pointers. Closes #659 2021-05-11 13:36:45 +02:00
jespergravgaard
497fd2b89f Removed most of the support for auto-casting integers to pointers. #659 2021-05-10 21:27:14 +02:00
jespergravgaard
a076fde1f0 Added missing fragments from @Flight_Control. Also demonstrates problem with auto-casting integers to pointers. Closes #656 2021-05-09 10:37:14 +02:00
jespergravgaard
d59c5315ec Converted ParamDecl to use declarator. #121 2021-05-03 00:24:37 +02:00
jespergravgaard
fafc9a5765 Converted ranged for to use declarator. Removed support for ranged for without type. #121 2021-05-02 17:39:07 +02:00
jespergravgaard
f0970364b5 Parser now based on declarator - allowing for more advanced pointer/array syntax. Preparing for declarator-based functions. #121 2021-05-02 14:28:03 +02:00
jespergravgaard
6400ef4d88 Simplified VariableDeclaration by removing VariableDeclType. Type qualifiers are now entirely embedded inside SymbolType. #121 2021-05-01 13:08:08 +02:00
jespergravgaard
78209db593 Variable printing now in C syntax. #121 2021-04-30 17:26:46 +02:00
jespergravgaard
8fd8bb1832 Removed const/volatile from Variable. #121 2021-04-30 16:21:38 +02:00
jespergravgaard
38d62b5759 Merge remote-tracking branch 'origin/master' 2021-04-30 15:39:40 +02:00
jespergravgaard
6e0cacc908 Moved const/volatile to SymbolType. #121 2021-04-30 15:39:29 +02:00
jespergravgaard
37ad98913f working on type qualifiers 2021-04-24 08:05:16 +02:00
Jesper Gravgaard
7e6c97779b Fixed problem with NPE when removing unused code can leave global constants referencing removed variables. Closes #650 2021-04-21 19:34:18 +02:00
Jesper Gravgaard
76edc3b8c8 Moved ArraySpec to SymbolTypePointer. 2021-04-12 20:57:46 +02:00
Jesper Gravgaard
66b3daa62f Added example of work-around for passing parameters to call by pointer function. 2021-04-06 21:58:12 +02:00
jespergravgaard
6fe60c6ad5 Added WORD0/1 and fragments. #221 2021-04-06 00:18:49 +02:00
jespergravgaard
510935eee7 Added BYTE0/1/2/3 fragments. #221 2021-04-05 02:19:29 +02:00
jespergravgaard
9443fd5c46 Added BYTE0/1/2/3 support in ilist initializers. #221 2021-04-05 02:02:30 +02:00
jespergravgaard
299671109b Added initial support for special BYTE2() and BYTE3() unary operators giving access to specific bytes. #221 2021-04-05 01:14:35 +02:00
jespergravgaard
03d5d9621a Added initial support for special BYTE0() and BYTE1() unary operators giving access to specific bytes. #221 2021-04-05 00:30:04 +02:00
jespergravgaard
945d8a1113 Added initial support for special BYTE0() and BYTE1() unary operators giving access to specific bytes. #221 2021-04-05 00:29:49 +02:00
jespergravgaard
1d4e754f0e Added initial support for special BYTE0() and BYTE1() unary operators giving access to specific bytes. #221 2021-04-05 00:27:47 +02:00
jespergravgaard
d8cd73115a Added camelot 1536 dots source code. 2021-04-04 21:52:03 +02:00
jespergravgaard
1d5afcdf68 Added a naive double sine xy-plotter. 2021-04-04 19:10:47 +02:00
jespergravgaard
ce41782240 Added a naive double sine xy-plotter. 2021-04-04 18:32:56 +02:00
jespergravgaard
0598d6548a Added initial naive y-plotter. 2021-04-04 13:10:41 +02:00
jespergravgaard
87f0b6d526 Improved division waiting 2021-04-04 11:20:42 +02:00
jespergravgaard
ba2fdf58c5 Fixed line drawing - and fixed a fragment with an error. 2021-04-04 10:59:29 +02:00
jespergravgaard
ab71bff269 Added division function. 2021-04-04 10:23:39 +02:00
jespergravgaard
9fbaf71e31 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/test/kc/examples/mega65/linedrawing.c
2021-04-04 09:24:10 +02:00
jespergravgaard
f4c392ba6a Better documentation 2021-04-04 09:12:59 +02:00
jespergravgaard
3a2e795918 Fixed line drawing 2021-04-03 21:45:29 +02:00
jespergravgaard
ad92cea393 Fixed line drawing example. 2021-04-03 21:35:20 +02:00
jespergravgaard
65eb2edc12 Added better rounding after division. 2021-04-03 21:00:48 +02:00
jespergravgaard
9c9a99e2ac Moved DMA to separate function. Adde 1/2 to better round division result. 2021-04-03 20:51:59 +02:00
jespergravgaard
1c9fa962d3 Fixed slope calculation. Added fragment. 2021-04-03 00:20:47 +02:00