From 44c330d647c3e1a17e7169f5aa5abb322166fdae Mon Sep 17 00:00:00 2001 From: Philip Date: Tue, 28 Apr 2015 09:23:29 +0000 Subject: VLA fix: save stack pointer right after modification This patch disables the optimization of saving stack pointers lazily, which didn't fully take into account that control flow might not reach the stack-saving instructions. I've decided to leave in the extra calls to vla_sp_save() in case anyone wants to restore this optimization. Tests added and enabled. There are two remaining bugs: VLA variables can be modified, and jumping into the scope of a declared VLA will cause a segfault rather than a compiler error. Both of these do not affect correct C code, but should be fixed at some point. Once VLA variables have been made properly immutable, we can share them with the saved stack pointer and save stack and instructions. --- tests/tests2/79_vla_continue.expect | 1 + 1 file changed, 1 insertion(+) (limited to 'tests/tests2/79_vla_continue.expect') diff --git a/tests/tests2/79_vla_continue.expect b/tests/tests2/79_vla_continue.expect index b462a5a..21da4d2 100644 --- a/tests/tests2/79_vla_continue.expect +++ b/tests/tests2/79_vla_continue.expect @@ -2,3 +2,4 @@ OK OK OK OK +OK -- cgit v1.3.1