[Boost-bugs] [Boost C++ Libraries] #11175: signals2, filesystem, probably others fail on clang targeting win32 when exceptions are disabled

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