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
|
// 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 <boost/detail/workaround.hpp>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
|
|
||||||
@ -54,7 +54,7 @@ void throw_exception( std::exception const & e ); // user defined
|
|||||||
|
|
||||||
inline void throw_exception_assert_compatibility( std::exception const & ) { }
|
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,
|
//All boost exceptions are required to derive std::exception,
|
||||||
//to ensure compatibility with BOOST_NO_EXCEPTIONS.
|
//to ensure compatibility with BOOST_NO_EXCEPTIONS.
|
||||||
|
Reference in New Issue
Block a user