mirror of
https://gitlab.com/camelot/kickc.git
synced 2024-06-03 07:29:37 +00:00
e371d304f6
- Create the possibility of forward declaration of structs as part of the language. - Generation of forward declarations in the .asm header files. - Treat global variables as part of global memory, even in libraries. Ensure that globals are not overwritten when importing. - Ensure that the various compilation models (stack, var, phi) in combination with the memory models (zp, mem) result in proper execution of code and proper memory allocation etc, etc. - Added the lru-cache logic to properly test the compilation and memory model combinations. (A lot of bugfixes as a result!)
23 lines
339 B
C
23 lines
339 B
C
#pragma encoding(screencode_mixed)
|
|
#pragma var_model(zp)
|
|
|
|
#pragma asm_library
|
|
|
|
#pragma var_model(local_mem)
|
|
|
|
#pragma calling(__varcall)
|
|
#pragma asm_export(plus, min)
|
|
|
|
char internal(char d) {
|
|
return d * 2;
|
|
}
|
|
|
|
char plus(char a, char b) {
|
|
char d = internal(a);
|
|
return a + b + d;
|
|
}
|
|
|
|
char min(char a, char b) {
|
|
return a - b;
|
|
}
|