Problem with function.c change

Mark Mitchell mark@codesourcery.com
Fri Nov 12 19:08:00 GMT 1999


Your recent changes (1.133 -> 1.135) to function.c seem to be somehow
causing some problems.  Compile this test-case (condensed from the C++
regression test-suite):

  class ndbArtPtrVec ;
  class intndbArtPtrVecMap
  {
  protected:
    virtual ndbArtPtrVec&          operator [] (int  key) = 0;  
  };

  class intndbArtPtrVecAVLMap : intndbArtPtrVecMap 
  {
  public:
    ndbArtPtrVec&          operator [] (int  key);
  };
  ndbArtPtrVec& intndbArtPtrVecAVLMap::operator [] (int  item)
  {
  }

on i686-pc-linux-gnu with -O2.  You'll get a crash in
verify_local_live_at_start.

The problem is (somehow) that DECL_RESULT is (reg/i:SI 0 eax), but
hard_function_value returns (reg:SI 0 eax).  I don't know why this
causes problems, but it does.

--
Mark Mitchell                   mark@codesourcery.com
CodeSourcery, LLC               http://www.codesourcery.com



More information about the Gcc-bugs mailing list