mirror of
https://github.com/open-goal/jak-project
synced 2026-06-04 18:59:37 -04:00
fix set! missing typecast (#324)
This commit is contained in:
@@ -2350,21 +2350,21 @@ TEST_F(FormRegressionTest, ExprStringToInt) {
|
||||
std::string type = "(function string int)";
|
||||
std::string expected =
|
||||
"(defun test-function ((arg0 string))\n"
|
||||
" (let\n"
|
||||
" ((a0-1 (-> arg0 data)) (v0-0 0) (v1-0 #f))\n"
|
||||
" (let ((a0-1 (-> arg0 data))\n"
|
||||
" (v0-0 0)\n"
|
||||
" (v1-0 #f)\n"
|
||||
" )\n"
|
||||
" (cond\n"
|
||||
" ((= (-> a0-1 0) 35)\n"
|
||||
" (let\n"
|
||||
" ((a0-2 (&-> a0-1 1)))\n"
|
||||
" (let ((a0-2 (&-> a0-1 1)))\n"
|
||||
" (cond\n"
|
||||
" ((or (= (-> a0-2 0) 120) (= (-> a0-2 0) 88))\n"
|
||||
" (let\n"
|
||||
" ((a0-3 (&-> a0-2 1)))\n"
|
||||
" (when\n"
|
||||
" (= (-> a0-3 1) 45)\n"
|
||||
" (let ((a0-3 (&-> a0-2 1)))\n"
|
||||
" (when (= (-> a0-3 1) 45)\n"
|
||||
" (set! v1-0 #t)\n"
|
||||
" (set! a0-3 (&-> a0-3 1))\n"
|
||||
" (let ((a1-8 a0-3)))\n"
|
||||
" (let ((a1-8 a0-3))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (while\n"
|
||||
" (or\n"
|
||||
@@ -2386,8 +2386,12 @@ TEST_F(FormRegressionTest, ExprStringToInt) {
|
||||
" (>= (-> a0-3 0) (the-as uint 65))\n"
|
||||
" (>= (the-as uint 70) (-> a0-3 0))\n"
|
||||
" )\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-3 0) -55) (the-as uint (shl v0-0 4))))\n"
|
||||
" (let ((a1-14 (the-as uint v0-0))))\n"
|
||||
" (set!\n"
|
||||
" v0-0\n"
|
||||
" (the-as int (+ (+ (-> a0-3 0) -55) (the-as uint (shl v0-0 4))))\n"
|
||||
" )\n"
|
||||
" (let ((a1-14 (the-as uint v0-0)))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (cond\n"
|
||||
@@ -2395,12 +2399,20 @@ TEST_F(FormRegressionTest, ExprStringToInt) {
|
||||
" (>= (-> a0-3 0) (the-as uint 97))\n"
|
||||
" (>= (the-as uint 102) (-> a0-3 0))\n"
|
||||
" )\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-3 0) -87) (the-as uint (shl v0-0 4))))\n"
|
||||
" (let ((a1-20 (the-as uint v0-0))))\n"
|
||||
" (set!\n"
|
||||
" v0-0\n"
|
||||
" (the-as int (+ (+ (-> a0-3 0) -87) (the-as uint (shl v0-0 4))))\n"
|
||||
" )\n"
|
||||
" (let ((a1-20 (the-as uint v0-0)))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-3 0) -48) (the-as uint (shl v0-0 4))))\n"
|
||||
" (let ((a1-23 (the-as uint v0-0))))\n"
|
||||
" (set!\n"
|
||||
" v0-0\n"
|
||||
" (the-as int (+ (+ (-> a0-3 0) -48) (the-as uint (shl v0-0 4))))\n"
|
||||
" )\n"
|
||||
" (let ((a1-23 (the-as uint v0-0)))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -2410,14 +2422,16 @@ TEST_F(FormRegressionTest, ExprStringToInt) {
|
||||
" )\n"
|
||||
" )\n"
|
||||
" ((or (= (-> a0-2 0) 98) (= (-> a0-2 0) 66))\n"
|
||||
" (let\n"
|
||||
" ((a0-4 (&-> a0-2 1)))\n"
|
||||
" (let ((a0-4 (&-> a0-2 1)))\n"
|
||||
" (while\n"
|
||||
" (and\n"
|
||||
" (>= (-> a0-4 0) (the-as uint 48))\n"
|
||||
" (>= (the-as uint 49) (-> a0-4 0))\n"
|
||||
" )\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-4 0) -48) (the-as uint (shl v0-0 1))))\n"
|
||||
" (set!\n"
|
||||
" v0-0\n"
|
||||
" (the-as int (+ (+ (-> a0-4 0) -48) (the-as uint (shl v0-0 1))))\n"
|
||||
" )\n"
|
||||
" (set! a0-4 (&-> a0-4 1))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
@@ -2426,20 +2440,28 @@ TEST_F(FormRegressionTest, ExprStringToInt) {
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (when\n"
|
||||
" (= (-> a0-1 1) 45)\n"
|
||||
" (when (= (-> a0-1 1) 45)\n"
|
||||
" (set! v1-0 #t)\n"
|
||||
" (set! a0-1 (&-> a0-1 1))\n"
|
||||
" (let ((a1-47 a0-1)))\n"
|
||||
" (let ((a1-47 a0-1))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (while\n"
|
||||
" (and (>= (-> a0-1 0) (the-as uint 48)) (>= (the-as uint 57) (-> a0-1 0)))\n"
|
||||
" (set! v0-0 (+ (+ (-> a0-1 0) -48) (the-as uint (* 10 v0-0))))\n"
|
||||
" (set! v0-0 (the-as int (+ (+ (-> a0-1 0) -48) (the-as uint (* 10 v0-0)))))\n"
|
||||
" (set! a0-1 (&-> a0-1 1))\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" (cond (v1-0 (- v0-0)) (else (empty) v0-0))\n"
|
||||
" (cond\n"
|
||||
" (v1-0\n"
|
||||
" (- v0-0)\n"
|
||||
" )\n"
|
||||
" (else\n"
|
||||
" (empty)\n"
|
||||
" v0-0\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )";
|
||||
test_final_function(func, type, expected);
|
||||
|
||||
Reference in New Issue
Block a user