Whole document tree
    

Whole document tree

pure.cc Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

pure.cc

Go to the documentation of this file.
00001 // -*- C++ -*- 
00002 // Copyright (C) 2000, 2001 Free Software Foundation
00003 //
00004 // This file is part of GNU CC.
00005 //
00006 // GNU CC is free software; you can redistribute it and/or modify
00007 // it under the terms of the GNU General Public License as published by
00008 // the Free Software Foundation; either version 2, or (at your option)
00009 // any later version.
00010 //
00011 // GNU CC is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License for more details.
00015 //
00016 // You should have received a copy of the GNU General Public License
00017 // along with GNU CC; see the file COPYING.  If not, write to
00018 // the Free Software Foundation, 59 Temple Place - Suite 330,
00019 // Boston, MA 02111-1307, USA.
00020 //
00021 // As a special exception, you may use this file as part of a free software
00022 // library without restriction.  Specifically, if other files instantiate
00023 // templates or use macros or inline functions from this file, or you compile
00024 // this file and link it with other files to produce an executable, this
00025 // file does not by itself cause the resulting executable to be covered by
00026 // the GNU General Public License.  This exception does not however
00027 // invalidate any other reasons why the executable file might be covered by
00028 // the GNU General Public License.
00029 
00030 #include <bits/c++config.h>
00031 #include "unwind-cxx.h"
00032 
00033 #ifdef _GLIBCPP_HAVE_UNISTD_H
00034 # include <unistd.h>
00035 # define writestr(str)  write(2, str, sizeof(str) - 1)
00036 # ifdef __GNU_LIBRARY__
00037   /* Avoid forcing the library's meaning of `write' on the user program
00038      by using the "internal" name (for use within the library).  */
00039 /*#  define write(fd, buf, n)   __write((fd), (buf), (n))*/
00040 # endif
00041 #else
00042 # include <stdio.h>
00043 # define writestr(str)  fputs(str, stderr)
00044 #endif
00045 
00046 extern "C" void
00047 __cxa_pure_virtual (void)
00048 {
00049   writestr ("pure virtual method called\n");
00050   std::terminate ();
00051 }

Generated on Mon Apr 8 03:11:30 2002 for libstdc++-v3 Source by doxygen1.2.15