forked from boostorg/exception
Added BOOST_ATTRIBUTE_NORETURN to suppress warnings in boost::throw_exception
[SVN r54683]
This commit is contained in:
19
include/boost/exception/detail/attribute_noreturn.hpp
Normal file
19
include/boost/exception/detail/attribute_noreturn.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
//Copyright (c) 2009 Emil Dotchevski and Reverge Studios, Inc.
|
||||
|
||||
//Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#ifndef UUID_61531AB0680611DEADD5846855D89593
|
||||
#define UUID_61531AB0680611DEADD5846855D89593
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#if defined(BOOST_MSVC)
|
||||
#define BOOST_ATTRIBUTE_NORETURN __declspec(noreturn)
|
||||
#elif defined(__GNUC__)
|
||||
#define BOOST_ATTRIBUTE_NORETURN __attribute__((noreturn))
|
||||
#else
|
||||
#define BOOST_ATTRIBUTE_NORETURN
|
||||
#endif
|
||||
|
||||
#endif
|
@ -20,7 +20,7 @@
|
||||
// http://www.boost.org/libs/utility/throw_exception.html
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/exception/detail/attribute_noreturn.hpp>
|
||||
#include <boost/detail/workaround.hpp>
|
||||
#include <exception>
|
||||
|
||||
@ -54,7 +54,7 @@ void throw_exception( std::exception const & e ); // user defined
|
||||
|
||||
inline void throw_exception_assert_compatibility( std::exception const & ) { }
|
||||
|
||||
template<class E> inline void throw_exception( E const & e )
|
||||
template<class E> BOOST_ATTRIBUTE_NORETURN inline void throw_exception( E const & e )
|
||||
{
|
||||
//All boost exceptions are required to derive std::exception,
|
||||
//to ensure compatibility with BOOST_NO_EXCEPTIONS.
|
||||
|
Reference in New Issue
Block a user