This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Bug in exception handling and virtual inheritance


-----BEGIN PGP MESSAGE-----
Version: 2.6.3i

owGlVn1sFEUUB7QlWRMhAoEmGF4K4p3t7vVKS9sDDfVaSrG0pT2QhNBzbm7ubr39
Yme2vTNaiAYTokIQEiAqJhqRj4BETEyIoKn6h2D8SEQUAkREo8Yv+IOEBNG3e3ft
FYq0urnb3Zn5vTfvvfm993bj+Gl3lIyr//THyafXX/towa63j44fv2Rg4vXAyUvt
1SeX93yhnDi1flNy6vOzNn3Tc4hUXjkfmVnWc/z3He/vnnDgMllZtqvkUOkzX8/8
m5ac2r5z7pTkxp3TXtn97sp7EjV1mz+58uu1gb/oFXvDqtePzAy/d+RI73NPDTw2
Ce59dOsfj3e9MPmtN8LOT8cnHj7/5ebz28795v9uwZ2Ho6+2TTlzpvS+iqY3G6Sn
O6bXHLwUscsaTx9MDlRs3rYk2L5HeaB0whb9paXT/WWZYxf3vqicPbB04Z/Xv5pz
zt9vnZyUPtv+8ufbe3y/zNo6Y7Z2dPoHW+r3zhi37tjUi3u+v1qyPvht36L9ey88
u+rjC3e9s+e1VHDfxA0fzq3rX1d14sxna7fsL/356uV9PxyQ7o6VcBFXjXF4td7f
yyBhOkYcCMScJPhaQaRUI+0H1YCWcBiqlYZapVqBSIoBJzoDasYZ2I7BoeMRF9Tc
Eu52UUFl/nxFiqRUDvgTCDcdYTkCsqYDNlvrqDaLgzCBMyMekiRZlusX/ttNWm2T
BFmkEy6YratootCtNXOAVlSA3AuyzEkvkwXTLe6arlAqdTGCjiWBW4xySNimDgGH
2wFNjQWSlMruU51XP19GU1JE4NhwMoGciwFPSEIY9DKbq6aR9x2CDQ0NwarqGvDZ
TGOEM780BrXUskDWiJGUC4Y3RaMt7SvC0eiD1YVBS/EgHF3W2t7RhVMNtd4ctTSH
u39v1Ny2OBrFN8dQM96Eu7U34+07DBONuqj86yAuGvWQRYihSZAbeRYjrvssk6sZ
f07dqnBzZ6S1o70bl6nl+FxVuNSoE4psYYVxk/sc3Kt409wBeQ9VldBJCHd23j7Q
4GmGNi+g6JRfmq0aVHOQguWKopQjmYhNU8AFsQWHFLNZaAiyECEPjQgZw/kpytAv
rziQrKiQ5xWUmJRohZWxKB4uUhg1I8/NRMFoTeXCTSo3STXN7HPJHWcJ4mgC4phQ
VJi2ytArTAWIMWaAqatCYKJ55HezMK/JIiL13/2+CXSDuYVdc/aOJTto0CN2jhgg
Y5lgAuS4o1sxJECBN3KeKRLIpjfHcxzCjBolh4bt7scqpluqhhbHsuBpKtIj3UIR
OkYwBVeCvDxbsKNgDTKNp1XLwgPC1yKblNoR93e4e5QPL26CYVilSqmuHlP8kBbI
AqwdOjAtkc+7eNYguuqKGmlmg6dKi+NQQlGFm+je4BbUFkF0o3isFo9vb4ItYiyJ
qlFKbhu1XD58sobNyKuMmo5/t/zKGs2/5ZVJo7MC+8oNjqBJo+gzIzUt5DTLMOoI
95hErvdZGvs/fUsJEAW1S1WZWAKvWG1NCNwr0hgKRRrBFwn7ca2+qiZOWVVuKb+2
OrymsDxctP9m2bpB2cHFbpbUmSGIcGnm1Y7RBKU14XVumsLWxbwQGCwjMMMNBr7Z
dfP8GAsASgQWFx81DS7Q2rlgp0V3x4qucPNQ08B2KUVM97uCjyATvoWMW/UMUEXu
WyPhbUs0kTKdZMqdxvMyTIGfLdzUHNc1zE+UIUYa0abtGm+DUHWmSF14Hgr6DFKF
PHhJT4I7zzRYyjhWoEaNEgySTaATW8QTCq4360TVQuDehRnyTjXO4kQzZTfNsYQg
prOlEywnpqkU0iwbgpQQVigQ6OvrU4ZjA/2ugkAOKyNWIZwWG1R0SeWL0QOGpSHr
VSqNZcCyzZjGvJpuM9f7Ic9xjngBwZBSlbNKoFix7ErgqitbCQRJ2GebaEi55Fui
QJsCy5hB08zwS/8A
=U15x
-----END PGP MESSAGE-----
#include <string>
#include <iostream>


class TA
{

  protected:

    std::string   yMessage;


  public:

    TA (void)    :
      yMessage() 
    {
      cerr << this << ":\tTA::TA (void)\n";
    }

    TA (const char* pkcSOURCE) :
      yMessage (pkcSOURCE)
    {
      cerr << this << ":\tTA::TA (" << pkcSOURCE << ")\n";
    }

    TA (const TA& rktSOURCE)        :
      yMessage (rktSOURCE.yMessage)
    {
      cerr << this << ":\tTA::TA[C] (" << yMessage << ")\n";
    }

    ~TA (void)
    {
      cerr << this << ":\t~TA::TA (" << yMessage << ")\n";
    }

    std::string what (void) const
    {
      return yMessage;
    }

};  // class TA


class TB1 : public virtual TA {};
class TB2 : public virtual TA {};


class TC            :
  public virtual TA ,
  public TB1        ,
  public TB2
{

  public:

    TC (const char* pkcSOURCE) :
      TA  (pkcSOURCE)          ,
      TB1 ()                   ,
      TB2 ()                   {}

};  // class TC


int main (void)
{

  try
  {
    throw TC ("TC");
  }
  catch (const TA& rktSOURCE_EXCEPTION)
  {
    ;
  }
  return 0;
  
}  // main()

bug.ii.bz2


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]