Вы получаете это предупреждение, потому что C90 не поддерживает массивы переменной длины .
Вам нужно будет либо переключить gcc в режим C99 (который поддерживает vla), используя флаг командной строки -std = c99 или std = gnu99, либо переписать свой код для динамического выделения памяти или использовать массив фиксированного размера .
Предупреждение просто говорит вам, что вы не соответствует C90 в этом случае, но в остальном это безопасно. Игнорирование предупреждения на самом деле не должно быть вариантом.