Поддержка VLA (и вообще всех новых расширений языка), действительно, зависит от компилятора.
Например в MSVC, по моему, до сих пор поддержки VLA нет.
Официально микрософт заявляет о поддержке С90:
https://docs.microsoft.com/en-us/cpp/c-language/an...
Но в компиляторе присутствуют расширения языка (по умолчанию включенные), список расширений можно посмотреть в описании опции компилятора /Zc, и VLA там нет.
При том, что присутствуют некоторые расширения из С++17.
Кроме того присутствуют некоторые вещи, которые появились в С99, но их в "расширениях" нет, они уже вошли в компилятор "по умолчанию", например переменное количество аргументов в #define.