|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r54614 - in trunk/boost: . exception/detail
From: emil_at_[hidden]
Date: 2009-07-03 17:45:38
Author: emildotchevski
Date: 2009-07-03 17:45:37 EDT (Fri, 03 Jul 2009)
New Revision: 54614
URL: http://svn.boost.org/trac/boost/changeset/54614
Log:
Added BOOST_ATTRIBUTE_NORETURN to suppress warnings in code calling BOOST_THROW_EXCEPTION.
Added:
trunk/boost/exception/detail/attribute_noreturn.hpp (contents, props changed)
Text files modified:
trunk/boost/throw_exception.hpp | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
Added: trunk/boost/exception/detail/attribute_noreturn.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/exception/detail/attribute_noreturn.hpp 2009-07-03 17:45:37 EDT (Fri, 03 Jul 2009)
@@ -0,0 +1,17 @@
+//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)
+#else
+#define BOOST_ATTRIBUTE_NORETURN
+#endif
+
+#endif
Modified: trunk/boost/throw_exception.hpp
==============================================================================
--- trunk/boost/throw_exception.hpp (original)
+++ trunk/boost/throw_exception.hpp 2009-07-03 17:45:37 EDT (Fri, 03 Jul 2009)
@@ -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 @@
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.
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk