Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-30 09:35:14

0001 #ifndef BOOST_CORE_QUICK_EXIT_HPP_INCLUDED
0002 #define BOOST_CORE_QUICK_EXIT_HPP_INCLUDED
0003 
0004 // MS compatible compilers support #pragma once
0005 
0006 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
0007 # pragma once
0008 #endif
0009 
0010 //  boost/core/quick_exit.hpp
0011 //
0012 //  Copyright 2018 Peter Dimov
0013 //
0014 //  Distributed under the Boost Software License, Version 1.0.
0015 //  See accompanying file LICENSE_1_0.txt or copy at
0016 //  http://www.boost.org/LICENSE_1_0.txt)
0017 
0018 #include <boost/config.hpp>
0019 #include <stdlib.h>
0020 
0021 #if defined(__MINGW32__) && !defined(__MINGW64_VERSION_MAJOR)
0022 
0023 extern "C" _CRTIMP __cdecl __MINGW_NOTHROW  void _exit (int) __MINGW_ATTRIB_NORETURN;
0024 
0025 #endif
0026 
0027 #if defined(__CYGWIN__) && __cplusplus < 201103L
0028 
0029 extern "C" _Noreturn void quick_exit(int);
0030 
0031 #endif
0032 
0033 namespace boost
0034 {
0035 
0036 BOOST_NORETURN inline void quick_exit( int code ) BOOST_NOEXCEPT
0037 {
0038 #if defined(_MSC_VER) && _MSC_VER < 1900
0039 
0040     ::_exit( code );
0041 
0042 #elif defined(__MINGW32__)
0043 
0044     ::_exit( code );
0045 
0046 #elif defined(__APPLE__)
0047 
0048     ::_Exit( code );
0049 
0050 #else
0051 
0052     ::quick_exit( code );
0053 
0054 #endif
0055 }
0056 
0057 } // namespace boost
0058 
0059 #endif  // #ifndef BOOST_CORE_QUICK_EXIT_HPP_INCLUDED