我正在使用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