GCC优化-O1暴露未初始化的错误

时间:2013-11-25 18:12:05

标签: gcc compiler-construction compiler-optimization

我正在使用gcc(版本4.4.6)和-O3的-O3优化级别。如果使用-O1优化级别和-Wall编译相同的代码,我会看到几个新的未初始化警告。 代码有-O1报告的问题,而不是-O3报告的问题。理想情况下,人们希望在更高的优化时看到更多的警告和更严格的检查。

这是预期的还是我遇到了gcc问题?

先谢谢。

以下是代码部分。

int vrc_phy_locate()
phys_instance pinstance;
:
 select = SelectFlag();
 if (select == SELECTED) {
    pinstance = vrc_phy_locate_pinstance(canvas, x, y);
    if (pinstance) {
:
: 
    }
 }

select = SelectFlag();
if (select == SELECTED) {
    blackbox = vrc_phy_locate_blackbox();
    if (pinstance) {
        vrcPhySelectBlackbox();
:
:

 Following warning is seen on compiling with -O1
 canvas_util.c: In function 'int vrc_phy_locate(vbgCanvas*, int, int)':
  canvas_util.c:1223: warning: 'pinstance' may be used uninitialized in this function

0 个答案:

没有答案