1 #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
2 #define BOOST_CURRENT_FUNCTION_HPP_INCLUDED
4 // MS compatible compilers support #pragma once
6 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
11 // boost/current_function.hpp - BOOST_CURRENT_FUNCTION
13 // Copyright 2002-2018 Peter Dimov
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
19 // http://www.boost.org/libs/assert
28 inline void current_function_helper()
31 #if defined( BOOST_DISABLE_CURRENT_FUNCTION )
33 # define BOOST_CURRENT_FUNCTION "(unknown)"
35 #elif defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) || defined(__clang__)
37 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
39 #elif defined(__DMC__) && (__DMC__ >= 0x810)
41 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
43 #elif defined(__FUNCSIG__)
45 # define BOOST_CURRENT_FUNCTION __FUNCSIG__
47 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
49 # define BOOST_CURRENT_FUNCTION __FUNCTION__
51 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
53 # define BOOST_CURRENT_FUNCTION __FUNC__
55 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
57 # define BOOST_CURRENT_FUNCTION __func__
59 #elif defined(__cplusplus) && (__cplusplus >= 201103)
61 # define BOOST_CURRENT_FUNCTION __func__
65 # define BOOST_CURRENT_FUNCTION "(unknown)"
75 #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED