Subject: [boost] [Signals2] library fails to compile with -fno-exceptions
From: Jackie Kay (jacquelinekay1_at_[hidden])
Date: 2017-07-26 11:40:45


The signals2 Git repo does not have issues enabled, so I thought I'd ping
the list about this.

Trying to compile any program that includes boost/signals2 with
-fno-exceptions fails as of 1.64:

#include <boost/signals2.hpp>
// boost/signals2/slot.hpp will also reproduce the error

int main()
{
}

g++ prog.cc -I<path to Boost 1.64.0 headers> -std=c++11 -fno-exceptions

View it on Wandbox:
https://wandbox.org/permlink/vZVpF5bb8E9K7sDz

I was also able to reproduce this locally on the develop branch.

It appears this is because the slot_base lock function is not defined when
exceptions are disabled, but this is not checked when it lock is called in
`slot_template.hpp`.

I am working on a fix, but I would like to know what the path moving
forward for the fix would be. Signals2 is currently unusable in 1.64 with
exceptions turned off.