Hola:
 
Yo entiendo que si se usa esta forma en funciones, las cuales van a dimensionar un array y además no sabemos muy bien qué tamaño podría llegar a manejar, estamos jugando con fuego. 
En casos como el que indicas, en los que me limito a almacenar el tamaño del array en una variable, y luego declarar el array en función de esta variable, pues no parece peligroso, siempre que estemos seguros de que esa variable no se va a usar para otros usos  y cosas raras así.(que ciertamente es fácil controlar esta cuestión) 
Pero aún así, siempre va a dar un 
warning, y en mi caso, con el 
-pedantic-errors activado, no me compilaría.