为特定函数名称禁用 "unused function"

Disable "unused function" for specific function name

我正在用 "Treat warnings as errors" 编译项目。

问题是,我需要来自这里的增量类型列表:

并且 GCC 正确地抱怨一组已声明的静态函数既未定义也未使用。我不想完全禁用此诊断。相反,我只想为具有特定名称的函数禁用它。有这种可能吗?也许一些属性?还是编译选项?

澄清:我不需要为指定的文件禁用警告。我需要为特定功能禁用它。

编辑:我能够通过使用基于 ADL 的技巧解决我的问题。所以问题不再是实际的了。

最好使用 __attribute__((unused)) GCC extension, as in the code below:

namespace {
    void f() __attribute__((unused));
    void g();

    void f() {}
    void g() {}
}

int main() {/*f(); g();*/ return 0;}

在 C++17 中,您可以使用 [[maybe_unused]]:

声明您的函数
[[maybe_unused]] void foo (int, int);

来源: