当我添加
#pragma GCC diagnostic error "-Wreturn-type"
编译器会为每个丢失的return
生成警告,而不是错误。如何将此特定警告变为错误?
测试代码:
#pragma GCC diagnostic error "-Wreturn-type"
int foo(int x)
{
if (x) return 8;
}
int main(int narg, char* arg[])
{
foo(narg);
}
我试过
i686-apple-darwin10-g ++ - 4.2.1(GCC)4.2.1(Apple Inc. build 5666)(第3点)
i686-apple-darwin10-llvm-g ++ - 4.2(GCC)4.2.1(基于Apple Inc. build 5658)(LLVM build 2335.6)
更新:我已按照@sastraxi的建议尝试-Werror=return-type
,但效果相同。
答案 0 :(得分:7)
尝试将-Werror=return-type
传递给gcc!