Это немного устарело, но я наткнулся на него, ища тот же ответ, поэтому я решил опубликовать свое решение (найденное методом проб и ошибок):
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wframe-larger-than="
void func()
{ int x[2000] = {}; printf("%d",x[1]); }
#pragma GCC diagnostic pop
похоже на работу. По какой-то причине попытка использовать diagnostic warning
не сработала. Кажется невозможным изменить размер стека, который генерирует предупреждение. Кроме того, вам нужно = в конце. Может быть, следующий парень найдет это и сэкономит немного времени :). Это 4.6.2 (на кросс-компиляторе ARM).
John