Skip to content

Commit 23ed1c7

Browse files
committed
Merge branch 'main' of github.com:cmsc430/www
2 parents 1eca4eb + e72b09f commit 23ed1c7

18 files changed

Lines changed: 27 additions & 0 deletions

langs/hoax/compile-ops.rkt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@
185185
(seq (Pop r8)
186186
(assert-vector r8)
187187
(assert-integer rax)
188+
(Cmp r8 type-vect)
189+
(Je 'raise_error_align) ; special case for empty vector
188190
(Cmp rax 0)
189191
(Jl 'raise_error_align)
190192
(Xor r8 type-vect) ; r8 = ptr

langs/hoax/test/test-runner.rkt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@
121121
(check-equal? (run '(make-vector 3 5)) #(5 5 5))
122122
(check-equal? (run '(vector? (make-vector 0 0))) #t)
123123
(check-equal? (run '(vector? (cons 0 0))) #f)
124+
(check-equal? (run '(vector-ref (make-vector 0 #f) 0)) 'err)
124125
(check-equal? (run '(vector-ref (make-vector 3 5) -1)) 'err)
125126
(check-equal? (run '(vector-ref (make-vector 3 5) 0)) 5)
126127
(check-equal? (run '(vector-ref (make-vector 3 5) 1)) 5)

langs/iniquity/compile-ops.rkt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@
185185
(seq (Pop r8)
186186
(assert-vector r8)
187187
(assert-integer rax)
188+
(Cmp r8 type-vect)
189+
(Je 'raise_error_align) ; special case for empty vector
188190
(Cmp rax 0)
189191
(Jl 'raise_error_align)
190192
(Xor r8 type-vect) ; r8 = ptr

langs/iniquity/test/test-runner.rkt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
(check-equal? (run '(make-vector 3 5)) #(5 5 5))
115115
(check-equal? (run '(vector? (make-vector 0 0))) #t)
116116
(check-equal? (run '(vector? (cons 0 0))) #f)
117+
(check-equal? (run '(vector-ref (make-vector 0 #f) 0)) 'err)
117118
(check-equal? (run '(vector-ref (make-vector 3 5) -1)) 'err)
118119
(check-equal? (run '(vector-ref (make-vector 3 5) 0)) 5)
119120
(check-equal? (run '(vector-ref (make-vector 3 5) 1)) 5)

langs/jig/compile-ops.rkt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@
185185
(seq (Pop r8)
186186
(assert-vector r8)
187187
(assert-integer rax)
188+
(Cmp r8 type-vect)
189+
(Je 'raise_error_align) ; special case for empty vector
188190
(Cmp rax 0)
189191
(Jl 'raise_error_align)
190192
(Xor r8 type-vect) ; r8 = ptr

langs/jig/test/test-runner.rkt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
(check-equal? (run '(make-vector 3 5)) #(5 5 5))
115115
(check-equal? (run '(vector? (make-vector 0 0))) #t)
116116
(check-equal? (run '(vector? (cons 0 0))) #f)
117+
(check-equal? (run '(vector-ref (make-vector 0 #f) 0)) 'err)
117118
(check-equal? (run '(vector-ref (make-vector 3 5) -1)) 'err)
118119
(check-equal? (run '(vector-ref (make-vector 3 5) 0)) 5)
119120
(check-equal? (run '(vector-ref (make-vector 3 5) 1)) 5)

langs/knock/compile-ops.rkt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@
185185
(seq (Pop r8)
186186
(assert-vector r8)
187187
(assert-integer rax)
188+
(Cmp r8 type-vect)
189+
(Je 'raise_error_align) ; special case for empty vector
188190
(Cmp rax 0)
189191
(Jl 'raise_error_align)
190192
(Xor r8 type-vect) ; r8 = ptr

langs/knock/test/test-runner.rkt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
(check-equal? (run '(make-vector 3 5)) #(5 5 5))
115115
(check-equal? (run '(vector? (make-vector 0 0))) #t)
116116
(check-equal? (run '(vector? (cons 0 0))) #f)
117+
(check-equal? (run '(vector-ref (make-vector 0 #f) 0)) 'err)
117118
(check-equal? (run '(vector-ref (make-vector 3 5) -1)) 'err)
118119
(check-equal? (run '(vector-ref (make-vector 3 5) 0)) 5)
119120
(check-equal? (run '(vector-ref (make-vector 3 5) 1)) 5)

langs/loot/compile-ops.rkt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,8 @@
185185
(seq (Pop r8)
186186
(assert-vector r8)
187187
(assert-integer rax)
188+
(Cmp r8 type-vect)
189+
(Je 'raise_error_align) ; special case for empty vector
188190
(Cmp rax 0)
189191
(Jl 'raise_error_align)
190192
(Xor r8 type-vect) ; r8 = ptr

langs/loot/test/test-runner.rkt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
(check-equal? (run '(make-vector 3 5)) #(5 5 5))
115115
(check-equal? (run '(vector? (make-vector 0 0))) #t)
116116
(check-equal? (run '(vector? (cons 0 0))) #f)
117+
(check-equal? (run '(vector-ref (make-vector 0 #f) 0)) 'err)
117118
(check-equal? (run '(vector-ref (make-vector 3 5) -1)) 'err)
118119
(check-equal? (run '(vector-ref (make-vector 3 5) 0)) 5)
119120
(check-equal? (run '(vector-ref (make-vector 3 5) 1)) 5)

0 commit comments

Comments
 (0)