diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-02-07 00:01:59 -0800 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-02-07 00:02:09 -0800 |
commit | f3d054032d8c67901c43b94d3ff42eb623561bda (patch) | |
tree | 279a5c7b58878a4ed45cb6bfa4b98776a148b9cf /apps/mu.subx | |
parent | 3401742e551a48eef4987a80ab0a6f310e539329 (diff) | |
download | mu-f3d054032d8c67901c43b94d3ff42eb623561bda.tar.gz |
5991
Diffstat (limited to 'apps/mu.subx')
-rw-r--r-- | apps/mu.subx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/mu.subx b/apps/mu.subx index 81c47ece..e0dd1908 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -1485,6 +1485,7 @@ populate-mu-function-header: # first-line: (addr stream byte), out: (handle fun # read function name (next-word *(ebp+8) %ecx) # error checking + # TODO: error if name starts with 'break' or 'loop' # if (word-slice == '{') abort (slice-equal? %ecx "{") # => eax 3d/compare-eax-and 0/imm32 @@ -4315,7 +4316,9 @@ $emit-subx-stmt-list:check-for-break: (string-starts-with? *(ecx+4) "break") # Stmt1-operation => eax 3d/compare-eax-and 0/imm32 0f 84/jump-if-= break/disp32 -$emit-subx-stmt-list:break: + 81 7/subop/compare *(ecx+8) 0/imm32 # Stmt1-inouts + 0f 85/jump-if-!= break/disp32 +$emit-subx-stmt-list:zero-arg-break: # create a new block for the remaining statements (emit-indent *(ebp+8) *Curr-block-depth) (write-buffered *(ebp+8) "{\n") |