1
0
mirror of https://gitlab.com/camelot/kickc.git synced 2024-10-21 17:24:39 +00:00

Removed support for inline kickasm in the global scope. Now only kickasm inside functions (code) or kickasm as initializer for arrays are supported.

This commit is contained in:
jespergravgaard 2020-06-22 23:53:34 +02:00
parent f027b58a16
commit 3781096d01
5 changed files with 923 additions and 935 deletions

View File

@ -34,7 +34,6 @@ decl
| structDef ';' | structDef ';'
| enumDef ';' | enumDef ';'
| declFunction | declFunction
| declKasm
| globalDirective | globalDirective
| typeDef ';' | typeDef ';'
; ;

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -13,16 +13,16 @@ void main() {
} else { } else {
f = &fn2; f = &fn2;
} }
kickasm(uses f) {{ kickasm(uses f, uses ff) {{
jsr ff jsr ff
}} }}
} }
} }
kickasm {{ // Inline KickAsm function
ff: char ff[] = kickasm {{
jmp (main.f) jmp (main.f)
}} }};
void fn1() { void fn1() {
byte* const BORDER_COLOR = $d020; byte* const BORDER_COLOR = $d020;

View File

@ -12,4 +12,4 @@ void main() {
// KickAsm data initializer // KickAsm data initializer
export char A[] = kickasm {{ export char A[] = kickasm {{
.byte 1, 2, 3 .byte 1, 2, 3
}} }};