1    	// cxxabi.h subset for cancellation -*- C++ -*-
2    	  
3    	// Copyright (C) 2007-2013 Free Software Foundation, Inc.
4    	//
5    	// This file is part of GCC.
6    	//
7    	// GCC is free software; you can redistribute it and/or modify
8    	// it under the terms of the GNU General Public License as published by
9    	// the Free Software Foundation; either version 3, or (at your option)
10   	// any later version.
11   	// 
12   	// GCC is distributed in the hope that it will be useful,
13   	// but WITHOUT ANY WARRANTY; without even the implied warranty of
14   	// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   	// GNU General Public License for more details.
16   	// 
17   	// Under Section 7 of GPL version 3, you are granted additional
18   	// permissions described in the GCC Runtime Library Exception, version
19   	// 3.1, as published by the Free Software Foundation.
20   	
21   	// You should have received a copy of the GNU General Public License and
22   	// a copy of the GCC Runtime Library Exception along with this program;
23   	// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
24   	// <http://www.gnu.org/licenses/>.
25   	
26   	/** @file bits/cxxabi_forced.h
27   	 *  This is an internal header file, included by other library headers.
28   	 *  Do not attempt to use it directly. @headername{cxxabi.h}
29   	 */
30   	
31   	#ifndef _CXXABI_FORCED_H
32   	#define _CXXABI_FORCED_H 1
33   	
34   	#pragma GCC system_header
35   	
36   	#pragma GCC visibility push(default)
37   	
38   	#ifdef __cplusplus
39   	namespace __cxxabiv1
40   	{  
41   	  /** 
42   	   *  @brief Thrown as part of forced unwinding.
43   	   *  @ingroup exceptions
44   	   *
45   	   *  A magic placeholder class that can be caught by reference to
46   	   *  recognize forced unwinding.
47   	   */
48   	  class __forced_unwind
49   	  {
50   	    virtual ~__forced_unwind() throw();
51   	
52   	    // Prevent catch by value.
53   	    virtual void __pure_dummy() = 0; 
54   	  };
55   	}
56   	#endif // __cplusplus
57   	
58   	#pragma GCC visibility pop
59   	
60   	#endif // __CXXABI_FORCED_H 
61