We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 23ed1c7 commit 0f22b1eCopy full SHA for 0f22b1e
2 files changed
langs/hoax/compile-ops.rkt
@@ -240,6 +240,8 @@
240
(seq (Pop r8)
241
(assert-string r8)
242
(assert-integer rax)
243
+ (Cmp r8 type-str)
244
+ (Je 'raise_error_align) ; special case for empty string
245
(Cmp rax 0)
246
(Jl 'raise_error_align)
247
(Xor r8 type-str) ; r8 = ptr
langs/hoax/test/test-runner.rkt
@@ -145,6 +145,8 @@
145
(check-equal? (run '(make-string 3 #\g)) "ggg")
146
(check-equal? (run '(string-length "")) 0)
147
(check-equal? (run '(string-length "fred")) 4)
148
+ (check-equal? (run '(string-ref "" 0)) 'err)
149
+ (check-equal? (run '(string-ref (make-string 0 #\a) 0)) 'err)
150
(check-equal? (run '(string-ref "fred" 0)) #\f)
151
(check-equal? (run '(string-ref "fred" 1)) #\r)
152
(check-equal? (run '(string-ref "fred" 2)) #\e)
0 commit comments