O ISO C90 proíbe a matriz de comprimento variável

Estou calculando dinamicamente o tamanho de uma matriz. Algo como:

<code>void foo(size_t limit)
{
  char buffer[limit * 14 + 1];
}
</code>

Mas apenas o compilador do GCC diz:

<code>error: ISO C90 forbids variable length array ‘buffer’
</code>

pesquisando em SO eu encontreiesta resposta:

C99 §6.7.5.2:

Se o tamanho é uma expressão que não é uma expressão constante inteira ... ... cada vez que é avaliado, ele deve ter um valor maior que zero.

Então, eu fiz a redefinição da variável de tipo de limite de tamanho para:

<code>void foo(const size_t limit)
</code>

Mas continua a dar aviso para mim. Isso é um bug do GCC?

questionAnswers(6)

yourAnswerToTheQuestion