]> git.lyx.org Git - lyx.git/blob - boost/boost/current_function.hpp
Boost 1.31.0
[lyx.git] / boost / 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 //  Permission to copy, use, modify, sell and distribute this software
16 //  is granted provided this copyright notice appears in all copies.
17 //  This software is provided "as is" without express or implied
18 //  warranty, and with no claim as to its suitability for any purpose.
19 //
20 //  http://www.boost.org/libs/utility/current_function.html
21 //
22
23 namespace boost
24 {
25
26 namespace detail
27 {
28
29 inline void current_function_helper()
30 {
31
32 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600))
33
34 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
35
36 #elif defined(__FUNCSIG__)
37
38 # define BOOST_CURRENT_FUNCTION __FUNCSIG__
39
40 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
41
42 # define BOOST_CURRENT_FUNCTION __FUNCTION__
43
44 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
45
46 # define BOOST_CURRENT_FUNCTION __FUNC__
47
48 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
49
50 # define BOOST_CURRENT_FUNCTION __func__
51
52 #else
53
54 # define BOOST_CURRENT_FUNCTION "(unknown)"
55
56 #endif
57
58 }
59
60 } // namespace detail
61
62 } // namespace boost
63
64 #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED