[Bug c++/16036] [3.5 regression] Spurious "may be used uninitialized in this function" warning

bangerth at dealii dot org gcc-bugzilla@gcc.gnu.org
Thu Jun 17 19:54:00 GMT 2004


------- Additional Comments From bangerth at dealii dot org  2004-06-17 19:54 -------
Here is a small testcase, having a lot to do with virtual inheritance: 
------------------ 
struct VB { 
    int i; 
 
    VB(); 
    virtual ~VB(); 
}; 
 
struct D : virtual VB { 
    bool fail() { return (i & 3) != 0; } 
}; 
 
int main() { 
  try { 
    D d; 
    if(d.fail()) 
      return 1; 
  } catch(...) {}; 
  return 0; 
} 
--------------------- 
 
g/x> /home/bangerth/bin/gcc-3.5-pre/bin/c++ -c -O2 -Wuninitialized  -c x.cc 
x.cc: In function `int main()': 
x.cc:16: warning: 'T.46' may be used uninitialized in this function 
 
This warning is a mainline regression. 
 
W. 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
      Known to fail|                            |3.5.0
      Known to work|                            |3.4.0
   Last reconfirmed|0000-00-00 00:00:00         |2004-06-17 19:54:04
               date|                            |
            Summary|"may be used uninitialized  |[3.5 regression] Spurious
                   |in this function" warning   |"may be used uninitialized
                   |with -funit-at-a-time flag  |in this function" warning
   Target Milestone|---                         |3.5.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16036



More information about the Gcc-bugs mailing list