]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
pure.cc: New file.
authorRichard Henderson <rth@cygnus.com>
Mon, 9 Oct 2000 21:04:58 +0000 (14:04 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 9 Oct 2000 21:04:58 +0000 (14:04 -0700)
        * libsupc++/pure.cc: New file.
        * libsupc++/Makefile.am (INCLUDES): Add top_builddir.
        (sources): Add pure.cc.
        * libsupc++/Makefile.in: Regenerate.

From-SVN: r36815

libstdc++-v3/ChangeLog
libstdc++-v3/libsupc++/Makefile.am
libstdc++-v3/libsupc++/Makefile.in
libstdc++-v3/libsupc++/pure.cc [new file with mode: 0644]

index 2e7c3442cf161215dc9ecad4a137843cea815f4f..b2d9121c150d3db06d94e8740bec64a01ce06a1c 100644 (file)
@@ -1,3 +1,10 @@
+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.
index 8769356713786ac296ab88b3b2e4bbba47d9244e..fe6ecea62a8d7c17dae8593d324a6f4e27bd46ca 100644 (file)
@@ -47,7 +47,7 @@ LIBSUPCXX_INCLUDES = -I$(top_srcdir)/libsupc++/include
 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 \
@@ -67,6 +67,7 @@ sources = \
        new_opnt.cc \
        new_opv.cc \
        new_opvnt.cc \
+       pure.cc \
        tinfo.cc \
        tinfo2.cc \
        vec.cc
index 526843b1bec0e97604ec4a1f155e2db4ed57e5ee..4a71cdb20e426942f2a614d20d1e3426cf242187 100644 (file)
@@ -115,13 +115,13 @@ noinst_LTLIBRARIES = libsupc++convenience.la
 
 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)
@@ -169,12 +169,12 @@ libsupc__convenience_la_LDFLAGS =
 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
diff --git a/libstdc++-v3/libsupc++/pure.cc b/libstdc++-v3/libsupc++/pure.cc
new file mode 100644 (file)
index 0000000..56e2f06
--- /dev/null
@@ -0,0 +1,27 @@
+#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 ();
+}
+
+}