summaryrefslogtreecommitdiff
path: root/winsup/cygwin/cxx.cc
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/cxx.cc')
-rw-r--r--winsup/cygwin/cxx.cc46
1 files changed, 46 insertions, 0 deletions
diff --git a/winsup/cygwin/cxx.cc b/winsup/cygwin/cxx.cc
new file mode 100644
index 00000000000..9cc1342fe89
--- /dev/null
+++ b/winsup/cygwin/cxx.cc
@@ -0,0 +1,46 @@
+/* cxx.cc
+
+ Copyright 2002, 2003 Red Hat, Inc.
+
+This file is part of Cygwin.
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+#if (__GNUC__ >= 3)
+
+#include "winsup.h"
+#include <stdlib.h>
+
+void *
+operator new (size_t s)
+{
+ void *p = calloc (1, s);
+ return p;
+}
+
+void
+operator delete (void *p)
+{
+ free (p);
+}
+
+void *
+operator new[] (size_t s)
+{
+ return ::operator new (s);
+}
+
+void
+operator delete[] (void *p)
+{
+ ::operator delete (p);
+}
+
+extern "C" void
+__cxa_pure_virtual (void)
+{
+ api_fatal ("pure virtual method called");
+}
+#endif