Even standard itself calls it variable length array! Or look https://en.wikipedia.org/wiki/C11_(C_standard_revision). Compiler without VLAs couldn't be called C99 compiler, sorry. C11 made these optional and added __STDC_NO_VLA__ macro for these. In C99 they were mandatory....