mirror of
https://github.com/mirror/tinycc.git
synced 2024-12-28 04:00:06 +08:00
44c330d647
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.
6 lines
15 B
Plaintext
6 lines
15 B
Plaintext
OK
|
|
OK
|
|
OK
|
|
OK
|
|
OK
|