海湾合作委员会:关于“控制到非空函数结束”的中断编译

时间:2012-03-23 07:55:24

标签: c++ c gcc g++

当我添加

#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,但效果相同。

1 个答案:

答案 0 :(得分:7)

尝试将-Werror=return-type传递给gcc!