From 4efc921811cd164242818183ad6cd6e43993ad80 Mon Sep 17 00:00:00 2001 From: Kartik Agaram Date: Sun, 21 Jun 2020 11:45:02 -0700 Subject: 6563 The desire captured by a test is often hard to verbalize, path-dependent and more fertile for the future than its original impulse. On some level, someone wanting to rip out features has to just ask for each scenario, "what do I want to happen here?" And nobody's gonna do that. At best, somebody may be trying to rip out some complex feature, and run into some collateral damage around the edges that they have to inspect more closely. "Do I care about preserving this behavior?" --- apps/mu.subx | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'apps/mu.subx') diff --git a/apps/mu.subx b/apps/mu.subx index ef63328e..f7089b96 100644 --- a/apps/mu.subx +++ b/apps/mu.subx @@ -2338,7 +2338,7 @@ test-shadow-live-output: 5d/pop-to-ebp c3/return -test-output-in-same-register-as-inout: +test-stmt-defines-output-in-same-register-as-inout: # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp @@ -2357,7 +2357,7 @@ test-output-in-same-register-as-inout: # (write _test-input-stream "fn foo -> x/ecx: int {\n") (write _test-input-stream " var y/ecx: int <- copy 4\n") - (write _test-input-stream " x <- copy y\n") + (write _test-input-stream " x <- copy y\n") # writing to a fn output is currently the only way for a statement to define a new var (write _test-input-stream "}\n") # convert (convert-mu _test-input-buffered-file _test-output-buffered-file _test-error-buffered-file %edx) @@ -2373,15 +2373,15 @@ test-output-in-same-register-as-inout: #? (rewind-stream _test-output-stream) #? # }}} # no error; we looked up 'y' correctly before pushing the binding for 'x' - (check-stream-equal _test-error-stream "" "F - test-output-in-same-register-as-inout: error stream should be empty") - # don't bother checking the generated code; that's in the test 'test-local-clobbered-by-output' below + (check-stream-equal _test-error-stream "" "F - test-stmt-defines-output-in-same-register-as-inout: error stream should be empty") + # don't bother checking the generated code; that's in the test 'test-local-clobbered-by-fn-output' below # don't restore from ebp 81 0/subop/add %esp 8/imm32 # . epilogue 5d/pop-to-ebp c3/return -test-local-clobbered-by-output: +test-local-clobbered-by-fn-output: # . prologue 55/push-ebp 89/<- %ebp 4/r32/esp @@ -2405,20 +2405,20 @@ test-local-clobbered-by-output: #? (rewind-stream _test-output-stream) #? # }}} # check output - (check-next-stream-line-equal _test-output-stream "foo:" "F - test-local-clobbered-by-output/0") - (check-next-stream-line-equal _test-output-stream " # . prologue" "F - test-local-clobbered-by-output/1") - (check-next-stream-line-equal _test-output-stream " 55/push-ebp" "F - test-local-clobbered-by-output/2") - (check-next-stream-line-equal _test-output-stream " 89/<- %ebp 4/r32/esp" "F - test-local-clobbered-by-output/3") - (check-next-stream-line-equal _test-output-stream " {" "F - test-local-clobbered-by-output/4") - (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:loop:" "F - test-local-clobbered-by-output/5") - (check-next-stream-line-equal _test-output-stream " b9/copy-to-ecx 4/imm32" "F - test-local-clobbered-by-output/6") - (check-next-stream-line-equal _test-output-stream " 89/<- %ecx 0x00000001/r32" "F - test-local-clobbered-by-output/7") - (check-next-stream-line-equal _test-output-stream " }" "F - test-local-clobbered-by-output/8") - (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-local-clobbered-by-output/9") - (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-local-clobbered-by-output/10") - (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-local-clobbered-by-output/11") - (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-local-clobbered-by-output/12") - (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-local-clobbered-by-output/13") + (check-next-stream-line-equal _test-output-stream "foo:" "F - test-local-clobbered-by-fn-output/0") + (check-next-stream-line-equal _test-output-stream " # . prologue" "F - test-local-clobbered-by-fn-output/1") + (check-next-stream-line-equal _test-output-stream " 55/push-ebp" "F - test-local-clobbered-by-fn-output/2") + (check-next-stream-line-equal _test-output-stream " 89/<- %ebp 4/r32/esp" "F - test-local-clobbered-by-fn-output/3") + (check-next-stream-line-equal _test-output-stream " {" "F - test-local-clobbered-by-fn-output/4") + (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:loop:" "F - test-local-clobbered-by-fn-output/5") + (check-next-stream-line-equal _test-output-stream " b9/copy-to-ecx 4/imm32" "F - test-local-clobbered-by-fn-output/6") # no push because it's an output reg + (check-next-stream-line-equal _test-output-stream " 89/<- %ecx 0x00000001/r32" "F - test-local-clobbered-by-fn-output/7") + (check-next-stream-line-equal _test-output-stream " }" "F - test-local-clobbered-by-fn-output/8") + (check-next-stream-line-equal _test-output-stream "$foo:0x00000001:break:" "F - test-local-clobbered-by-fn-output/9") + (check-next-stream-line-equal _test-output-stream " # . epilogue" "F - test-local-clobbered-by-fn-output/10") + (check-next-stream-line-equal _test-output-stream " 89/<- %esp 5/r32/ebp" "F - test-local-clobbered-by-fn-output/11") + (check-next-stream-line-equal _test-output-stream " 5d/pop-to-ebp" "F - test-local-clobbered-by-fn-output/12") + (check-next-stream-line-equal _test-output-stream " c3/return" "F - test-local-clobbered-by-fn-output/13") # . epilogue 89/<- %esp 5/r32/ebp 5d/pop-to-ebp -- cgit 1.4.1-2-gfad0