Boost logo

Boost :

Subject: [boost] [core/noncopyable][test/boost::unit_test::singleton] massive test failures
From: Joaquin M Lopez Munoz (joaquin_at_[hidden])
Date: 2014-08-21 05:38:00


Hi,

There's a problem with noncopyable and boost::unit_test::singleton in Intel
13 for Linux in C++11 compatibility mode that's rippling through many
Boost libs. To list a few:

date_time: http://tinyurl.com/lkeakab
geometry: http://tinyurl.com/n3rajyn
regex: http://tinyurl.com/kxkqo4c
tuple: http://tinyurl.com/oz3vlct

The error messages go like

protected function "boost::noncopyable_::noncopyable::noncopyable()"
[...] is not accessible through a "boost::noncopyable_::noncopyable" pointer
or object[...]

protected function "boost::unit_test::singleton<Derived>::singleton()"
[...] is not accessible through a
"boost::unit_test::singleton<boost::unit_test::unit_test_log_t>" pointer
or object[...]

which are manifestations of the following compiler bug:

https://software.intel.com/en-us/forums/topic/404755

The report also indicates a simple workaround consisting of
replacing

  BOOST_CONSTEXPR noncopyable() = default;

with

  noncopyable() {}

(seemingly, this would also fix boost::unit_test::singleton
automatically.)

Maybe the maintainer of boost:noncopyable can try a fix for
ICC 13 along these lines? This can potentially clear a ton
of yellow cells. I'd volunteer a pull request but alas
I don't have local access to that compiler.

Thank you,

Joaquín M López Muñoz
Telefónica


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk