Как GCC реализует массивы переменной длины (VLA)? Являются ли такие массивы по существу указателями на динамически распределенное хранилище, например, возвращенными alloca?
Другим вариантом, о котором я мог думать, является то, что такой массив выделяется как последняя переменная в функции, так что смещение переменных известно во время компиляции. Тем не менее, смещение второй VLA снова не будет известно во время компиляции.