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 2002-2018 Peter Dimov |
14 | // |
15 | // Distributed under the Boost Software License, Version 1.0. |
16 | // See 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/assert |
20 | // |
21 | |
22 | namespace boost |
23 | { |
24 | |
25 | namespace detail |
26 | { |
27 | |
28 | inline void current_function_helper() |
29 | { |
30 | |
31 | #if defined( BOOST_DISABLE_CURRENT_FUNCTION ) |
32 | |
33 | # define BOOST_CURRENT_FUNCTION "(unknown)" |
34 | |
35 | #elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__) |
36 | |
37 | # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ |
38 | |
39 | #elif defined(__DMC__) && (__DMC__ >= 0x810) |
40 | |
41 | # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ |
42 | |
43 | #elif defined(__FUNCSIG__) |
44 | |
45 | # define BOOST_CURRENT_FUNCTION __FUNCSIG__ |
46 | |
47 | #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) |
48 | |
49 | # define BOOST_CURRENT_FUNCTION __FUNCTION__ |
50 | |
51 | #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) |
52 | |
53 | # define BOOST_CURRENT_FUNCTION __FUNC__ |
54 | |
55 | #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) |
56 | |
57 | # define BOOST_CURRENT_FUNCTION __func__ |
58 | |
59 | #elif defined(__cplusplus) && (__cplusplus >= 201103) |
60 | |
61 | # define BOOST_CURRENT_FUNCTION __func__ |
62 | |
63 | #else |
64 | |
65 | # define BOOST_CURRENT_FUNCTION "(unknown)" |
66 | |
67 | #endif |
68 | |
69 | } |
70 | |
71 | } // namespace detail |
72 | |
73 | } // namespace boost |
74 | |
75 | #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED |
76 | |