Philip
44c330d647
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.
2015-04-28 09:23:29 +00:00
..
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2014-01-06 19:56:26 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2015-01-05 18:23:32 +03:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2014-04-12 13:37:37 -04:00
2013-02-05 13:22:36 +01:00
2014-04-07 11:20:45 +02:00
2014-04-07 11:20:45 +02:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 13:22:36 +01:00
2015-03-03 16:32:25 +03:00
2014-04-12 14:04:10 -04:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 14:27:38 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2013-02-05 13:22:36 +01:00
2014-03-25 20:54:19 +08:00
2014-03-25 20:54:19 +08:00
2014-03-25 20:54:19 +08:00
2014-03-25 20:54:19 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-30 12:56:55 +08:00
2014-03-31 22:59:10 +08:00
2014-03-31 22:59:10 +08:00
2015-03-03 16:32:25 +03:00
2014-04-07 23:30:57 +08:00
2014-04-08 22:19:48 +08:00
2014-04-08 22:19:48 +08:00
2014-04-08 22:19:48 +08:00
2014-04-08 22:19:48 +08:00
2014-04-12 16:11:42 +08:00
2014-04-12 16:11:42 +08:00
2014-07-01 23:54:49 +08:00
2014-07-01 23:54:49 +08:00
2014-07-01 23:54:49 +08:00
2014-07-01 23:54:49 +08:00
2014-12-15 16:32:08 +08:00
2014-12-15 16:32:08 +08:00
2015-01-18 22:00:10 +01:00
2015-01-18 22:00:10 +01:00
2015-02-18 07:01:03 +00:00
2015-03-07 17:42:08 +00:00
2015-03-07 17:42:08 +00:00
2015-03-10 23:27:14 +08:00
2015-03-10 23:27:14 +08:00
2015-03-23 08:27:16 +03:00
2015-03-23 08:27:16 +03:00
2015-04-20 12:03:45 +01:00
2015-04-20 12:03:45 +01:00
2015-04-25 15:03:50 +03:00
2015-04-25 15:03:50 +03:00
2015-04-27 14:55:23 +00:00
2015-04-27 14:55:23 +00:00
2015-04-28 09:23:29 +00:00
2015-04-28 09:23:29 +00:00
2013-02-05 13:22:36 +01:00
2015-04-28 09:23:29 +00:00