如何暂时禁用 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="
我正在尝试编译导入此 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="