Boost logo

Boost Testing :

Subject: [Boost-testing] sanity check: -fno-exceptions and regex regression tests
From: m brandenberg (mcbinc_at_[hidden])
Date: 2014-01-07 18:00:04


I'm working on packaging a private build of Boost including running
a pass of the regression tests and I'm encountering some problems.
Not being that familiar with bjam or the regression framework, I'd
like to enlist some experienced eyeballs to identify what I'm
missing.

Env: 1.55.0 release, building on Debian squeeze with a gcc-4.6
toolset, 32-bit target.

Problem: During regex regression tests, the 'regex_regress_noeh'
target is selected and regress/main.cpp gets compiled. Jamfile.v2
looks like it is turning off exception handling for the target
and '-fno-exceptions' appears in the compilation. Regression
framework, namely 'test/impl/execution_monitor.ipp', gets included
and clearly issues a throw at line 250. Compiler reasonably gets
mad at this and errors out failing the regression suite. (Test
bjam being run with '-a -q' options.)

Q: What am I missing that I'm failing in the test? Haven't tried
enabling exceptions for the tests though that's an obvious
workaround as is excluding specific tests.

tnx

m

Build log output fragment (-d2 -d+4 spam):

Using shell: /bin/sh -c
     argv[0] = '/bin/sh'
     argv[1] = '-c'
     argv[2] = '
     "g++" -ftemplate-depth-128 -fno-exceptions -O0 -fno-inline -Wall
-pedantic -g -pthread -Wextra -Wshadow -DBOOST_ALL_NO_LIB=1
-DBOOST_NO_EXCEPTIONS=1 -DU_USING_ICU_NAMESPACE=0 -I"../../.." -c -o
"../../../bin.v2/libs/regex/test/regex_regress_noeh.test/gcc-4.6/debug/exception-handling-off/link-static/threading-multi/regress/main.o"
"regress/main.cpp"
'
gcc.compile.c++
../../../bin.v2/libs/regex/test/regex_regress_noeh.test/gcc-4.6/debug/exception-handling-off/link-static/threading-multi/regress/main.o

     "g++" -ftemplate-depth-128 -fno-exceptions -O0 -fno-inline -Wall
-pedantic -g -pthread -Wextra -Wshadow -DBOOST_ALL_NO_LIB=1
-DBOOST_NO_EXCEPTIONS=1 -DU_USING_ICU_NAMESPACE=0 -I"../../.." -c -o
"../../../bin.v2/libs/regex/test/regex_regress_noeh.test/gcc-4.6/debug/exception-handling-off/link-static/threading-multi/regress/main.o"
"regress/main.cpp"

In file included from ../../../boost/config.hpp:26:0,
                  from ../../../boost/regex/config.hpp:43,
                  from ../../../boost/regex.hpp:28,
                  from regress/test.hpp:23,
                  from regress/main.cpp:19:
../../../boost/config/user.hpp:111:0: warning: "BOOST_ALL_NO_LIB" redefined
[enabled by default]
<command-line>:0:0: note: this is the location of the previous definition
regress/main.cpp:191:6: warning: unused parameter 'e' [-Wunused-parameter]
In file included from
../../../boost/test/included/prg_exec_monitor.hpp:18:0,
                  from regress/main.cpp:240:
../../../boost/test/impl/execution_monitor.ipp: In function 'void
boost::detail::report_error(boost::execution_exception::error_code, const
boost::exception*, const char*, __va_list_tag (*)[1])':
../../../boost/test/impl/execution_monitor.ipp:250:104: error: exception
handling disabled, use -fexceptions to enable
In file included from
../../../boost/test/included/prg_exec_monitor.hpp:18:0,
                  from regress/main.cpp:240:
../../../boost/test/impl/execution_monitor.ipp: In member function 'int
boost::execution_monitor::execute(const boost::unit_test::callback0<int>&)':
../../../boost/test/impl/execution_monitor.ipp:1221:47: error: 'ex' was not
declared in this scope
../../../boost/test/impl/execution_monitor.ipp:1224:50: error: 'ex' was not
declared in this scope
../../../boost/test/impl/execution_monitor.ipp:1231:53: error: 'ex' was not
declared in this scope
../../../boost/test/impl/execution_monitor.ipp:1246:52: error: 'ex' was not
declared in this scope
../../../boost/test/impl/execution_monitor.ipp:1250:54: error: 'ex' was not
declared in this scope
../../../boost/test/impl/execution_monitor.ipp:1256:57: error: 'ex' was not
declared in this scope
../../../boost/test/impl/execution_monitor.ipp:1260:56: error: 'ex' was not
declared in this scope
../../../boost/test/impl/execution_monitor.ipp:1264:60: error: 'ex' was not
declared in this scope

--
Monty Brandenberg, Software Engineer                               MCB, Inc.
mcbinc_at_[hidden]                                             P.O. Box 425292
mcbinc_at_[hidden]                                   Cambridge, MA  02142-0006
617.864.6907

Boost-testing list run by mbergal at meta-comm.com