Ugly, not-to-be-pushed sucking in of all of Boost to get windows to work.
[dyninst.git] / external / boost / current_function.hpp
1 #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
2 #define BOOST_CURRENT_FUNCTION_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 //  boost/current_function.hpp - BOOST_CURRENT_FUNCTION
12 //
13 //  Copyright (c) 2002 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 //  http://www.boost.org/libs/utility/current_function.html
20 //
21
22 namespace boost
23 {
24
25 namespace detail
26 {
27
28 inline void current_function_helper()
29 {
30
31 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600))
32
33 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
34
35 #elif defined(__FUNCSIG__)
36
37 # define BOOST_CURRENT_FUNCTION __FUNCSIG__
38
39 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
40
41 # define BOOST_CURRENT_FUNCTION __FUNCTION__
42
43 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
44
45 # define BOOST_CURRENT_FUNCTION __FUNC__
46
47 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
48
49 # define BOOST_CURRENT_FUNCTION __func__
50
51 #else
52
53 # define BOOST_CURRENT_FUNCTION "(unknown)"
54
55 #endif
56
57 }
58
59 } // namespace detail
60
61 } // namespace boost
62
63 #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED