如何暂时禁用 GCC 警告 "Wstack-usage"?

How to disable GCC warning "Wstack-usage" temporarily?

我正在尝试编译导入此 BiTStream 的项目 file

GCC 输出以下错误:

warning: stack usage might be unbounded [-Wstack-usage=]

确实,在编译命令行(通过 CMake 生成)中我有:

-Wstack-usage=2048

我想为项目的其余部分保留此警告,但为这个特定文件禁用它。

我检查了 GCC Warnings options and GCC diagnostic pragmas 并尝试了:

#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wswitch-enum"
#pragma GCC diagnostic ignored "-Wformat"
#pragma GCC diagnostic ignored "-Wswitch-default"
#pragma GCC diagnostic ignored "-Wunused-parameter"
#pragma GCC diagnostic ignored "-Wstack-usage"

#include <bitstream/mpeg/psi/descs_print.h>

#pragma GCC diagnostic pop

但是 GCC 仍然抱怨:

warning: unknown option after '#pragma GCC diagnostic' kind [-Wpragmas]

#pragma GCC diagnostic warning "-Wstack-usage"

请注意,其他警告已正确禁用。

是否有 Wstack-usage 的特定语法?

线索在错误信息中:

warning: stack usage might be unbounded [-Wstack-usage=]

因此,您需要使用的#pragma 是:

#pragma GCC diagnostic ignored "-Wstack-usage="