* libsupc++/pure.cc: New file.
* libsupc++/Makefile.am (INCLUDES): Add top_builddir.
(sources): Add pure.cc.
* libsupc++/Makefile.in: Regenerate.
From-SVN: r36815
+2000-10-09 Richard Henderson <rth@cygnus.com>
+
+ * libsupc++/pure.cc: New file.
+ * libsupc++/Makefile.am (INCLUDES): Add top_builddir.
+ (sources): Add pure.cc.
+ * libsupc++/Makefile.in: Regenerate.
+
2000-10-09 Benjamin Kosnik <bkoz@purist.soma.redhat.com>
* docs/configopts.html: Edit.
INCLUDES = \
-I$(top_srcdir)/../gcc -I$(top_srcdir)/../include \
$(LIBSUPCXX_INCLUDES) -I$(GLIBCPP_INCLUDES) \
- $(CONFIG_INCLUDES)
+ $(CONFIG_INCLUDES) -I$(top_builddir)
headers = \
include/cxxabi.h \
new_opnt.cc \
new_opv.cc \
new_opvnt.cc \
+ pure.cc \
tinfo.cc \
tinfo2.cc \
vec.cc
LIBSUPCXX_INCLUDES = -I$(top_srcdir)/libsupc++/include
-INCLUDES = -I$(top_srcdir)/../gcc -I$(top_srcdir)/../include $(LIBSUPCXX_INCLUDES) -I$(GLIBCPP_INCLUDES) $(CONFIG_INCLUDES)
+INCLUDES = -I$(top_srcdir)/../gcc -I$(top_srcdir)/../include $(LIBSUPCXX_INCLUDES) -I$(GLIBCPP_INCLUDES) $(CONFIG_INCLUDES) -I$(top_builddir)
headers = include/cxxabi.h include/exception include/new include/new.h include/typeinfo
-sources = del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc exception.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc tinfo.cc tinfo2.cc vec.cc
+sources = del_op.cc del_opnt.cc del_opv.cc del_opvnt.cc exception.cc new_handler.cc new_op.cc new_opnt.cc new_opv.cc new_opvnt.cc pure.cc tinfo.cc tinfo2.cc vec.cc
libsupc___la_SOURCES = $(sources)
libsupc__convenience_la_LIBADD =
libsupc__convenience_la_OBJECTS = del_op.lo del_opnt.lo del_opv.lo \
del_opvnt.lo exception.lo new_handler.lo new_op.lo new_opnt.lo \
-new_opv.lo new_opvnt.lo tinfo.lo tinfo2.lo vec.lo
+new_opv.lo new_opvnt.lo pure.lo tinfo.lo tinfo2.lo vec.lo
libsupc___la_LDFLAGS =
libsupc___la_LIBADD =
libsupc___la_OBJECTS = del_op.lo del_opnt.lo del_opv.lo del_opvnt.lo \
exception.lo new_handler.lo new_op.lo new_opnt.lo new_opv.lo \
-new_opvnt.lo tinfo.lo tinfo2.lo vec.lo
+new_opvnt.lo pure.lo tinfo.lo tinfo2.lo vec.lo
CXXFLAGS = @CXXFLAGS@
CXXLD = $(CXX)
DIST_COMMON = Makefile.am Makefile.in configure configure.in
--- /dev/null
+#include <bits/c++config.h>
+
+#ifdef _GLIBCPP_HAVE_UNISTD_H
+#include <unistd.h>
+#define writestr(str) write(2, str, sizeof(str) - 1)
+#ifdef __GNU_LIBRARY__
+ /* Avoid forcing the library's meaning of `write' on the user program
+ by using the "internal" name (for use within the library). */
+#define write(fd, buf, n) __write((fd), (buf), (n))
+#endif
+#else
+#include <stdio.h>
+#define writestr(str) fputs(str, stderr)
+#endif
+
+extern "C" {
+
+extern void __terminate(void) __attribute__ ((__noreturn__));
+
+void
+__pure_virtual (void)
+{
+ writestr ("pure virtual method called\n");
+ __terminate ();
+}
+
+}