Subject: [Boost-bugs] [Boost C++ Libraries] #11175: signals2, filesystem, probably others fail on clang targeting win32 when exceptions are disabled
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-04-09 08:48:34
#11175: signals2, filesystem, probably others fail on clang targeting win32 when
exceptions are disabled
------------------------------+------------------------
Reporter: hlandau@⦠| Owner: bemandawes
Type: Bugs | Status: new
Milestone: To Be Determined | Component: filesystem
Version: Boost 1.57.0 | Severity: Problem
Keywords: |
------------------------------+------------------------
To reproduce:
{{{
clang -fno-exceptions -std=c++14 reprod.cpp
}}}
reprod.cpp:
{{{
#include <boost/filesystem.hpp>
#include <boost/signals2.hpp>
}}}
You can target win32 from Linux using wclang
(https://github.com/tpoechtrager/wclang), though you must have a
i686-w64-mingw32 environment installed. Substitute 'clang' for 'w32-clang'
above. This is how I tested; since clang is rather universal as a
compiler, these errors likely also occur when compiling for win32 on
win32.
The documentation for filesystem3 indicates that it should be usable with
exceptions disabled, so this is a bug.
Errors:
{{{
In file included from reprod.cpp:1:
In file included from
/usr/i686-w64-mingw32/local/include/boost/filesystem.hpp:17:
/usr/i686-w64-mingw32/local/include/boost/filesystem/operations.hpp:80:9:
error: cannot use 'try' with exceptions
disabled
try
^
/usr/i686-w64-mingw32/local/include/boost/filesystem/operations.hpp:92:9:
error: cannot use 'try' with exceptions
disabled
try
^
/usr/i686-w64-mingw32/local/include/boost/filesystem/operations.hpp:105:9:
error: cannot use 'try' with
exceptions disabled
try
^
/usr/i686-w64-mingw32/local/include/boost/filesystem/operations.hpp:132:9:
error: cannot use 'try' with
exceptions disabled
try
^
/usr/i686-w64-mingw32/local/include/boost/filesystem/operations.hpp:1005:11:
error: cannot use 'throw' with
exceptions disabled
BOOST_FILESYSTEM_THROW(filesystem_error(
^
/usr/i686-w64-mingw32/local/include/boost/filesystem/config.hpp:46:36:
note: expanded from macro
'BOOST_FILESYSTEM_THROW'
#define BOOST_FILESYSTEM_THROW(EX) throw EX
^
In file included from reprod.cpp:2:
In file included from
/usr/i686-w64-mingw32/local/include/boost/signals2.hpp:16:
/usr/i686-w64-mingw32/local/include/boost/signals2/deconstruct_ptr.hpp:43:9:
error: cannot use 'try' with
exceptions disabled
try
^
In file included from reprod.cpp:2:
In file included from
/usr/i686-w64-mingw32/local/include/boost/signals2.hpp:18:
/usr/i686-w64-mingw32/local/include/boost/signals2/last_value.hpp:45:11:
error: cannot use 'try' with exceptions
disabled
try
^
/usr/i686-w64-mingw32/local/include/boost/signals2/last_value.hpp:66:11:
error: cannot use 'try' with exceptions
disabled
try
^
In file included from reprod.cpp:2:
In file included from
/usr/i686-w64-mingw32/local/include/boost/signals2.hpp:19:
In file included from
/usr/i686-w64-mingw32/local/include/boost/signals2/signal.hpp:28:
/usr/i686-w64-mingw32/local/include/boost/signals2/detail/slot_call_iterator.hpp:87:15:
error: cannot use 'throw'
with exceptions disabled
throw;
^
/usr/i686-w64-mingw32/local/include/boost/signals2/detail/slot_call_iterator.hpp:80:13:
error: cannot use 'try'
with exceptions disabled
try
^
In file included from reprod.cpp:2:
In file included from
/usr/i686-w64-mingw32/local/include/boost/signals2.hpp:19:
In file included from
/usr/i686-w64-mingw32/local/include/boost/signals2/signal.hpp:29:
/usr/i686-w64-mingw32/local/include/boost/signals2/optional_last_value.hpp:32:11:
error: cannot use 'try' with
exceptions disabled
try
^
/usr/i686-w64-mingw32/local/include/boost/signals2/optional_last_value.hpp:53:11:
error: cannot use 'try' with
exceptions disabled
try
^
12 errors generated.
}}}
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11175> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:18 UTC