g++ exception handling bug

Vladimir belkin belkin@minas.rosmail.com
Mon Sep 1 12:35:00 GMT 1997


"operator delete" call while exception processing
is not implemented.

// --------------- Example:
#include<iostream.h>

struct A {
  A() {
    cerr<<"A constructing\n";
    throw 1;
  }
  void *operator new(unsigned sz) {
    cerr<<"A allocated\n";
    return ::operator new(sz);
  }
  void operator delete (void *p) {
    cerr<<"A deleted\n";
    ::operator delete (p);
  }
};

void main() {
  try {
     new A();
  } catch (...) {
  }
}

// ------------------------------------------------

This program does not type  "A deleted", but should.


--------
  Vladimir Belkin (vladimir.belkin@usa.net)
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".



More information about the Cygwin mailing list