fixing stuff
[dyninst.git] / dynutil / h / dyn_detail / boost / detail / bad_weak_ptr.hpp
1 #ifndef DYN_DETAIL_BOOST_BAD_WEAK_PTR_HPP_INCLUDED
2 #define DYN_DETAIL_BOOST_BAD_WEAK_PTR_HPP_INCLUDED
3
4 // MS compatible compilers support #pragma once
5
6 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7 # pragma once
8 #endif
9
10 //
11 //  detail/bad_weak_ptr.hpp
12 //
13 //  Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
14 //
15 // Distributed under the Boost Software License, Version 1.0. (See
16 // accompanying file LICENSE_1_0.txt or copy at
17 // http://www.boost.org/LICENSE_1_0.txt)
18 //
19
20 #include <exception>
21
22 #ifdef __BORLANDC__
23 # pragma warn -8026     // Functions with excep. spec. are not expanded inline
24 #endif
25
26 namespace dyn_detail
27 {
28   
29 namespace boost
30 {
31
32 // The standard library that comes with Borland C++ 5.5.1, 5.6.4
33 // defines std::exception and its members as having C calling
34 // convention (-pc). When the definition of bad_weak_ptr
35 // is compiled with -ps, the compiler issues an error.
36 // Hence, the temporary #pragma option -pc below.
37
38 #if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
39 # pragma option push -pc
40 #endif
41
42 class bad_weak_ptr: public std::exception
43 {
44 public:
45
46     virtual char const * what() const throw()
47     {
48         return "tr1::bad_weak_ptr";
49     }
50 };
51
52 #if defined(__BORLANDC__) && __BORLANDC__ <= 0x564
53 # pragma option pop
54 #endif
55
56 } // namespace boost
57
58 } // namespace dyn_detail
59 #ifdef __BORLANDC__
60 # pragma warn .8026     // Functions with excep. spec. are not expanded inline
61 #endif
62
63 #endif  // #ifndef DYN_DETAIL_BOOST_BAD_WEAK_PTR_HPP_INCLUDED