http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52681
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2012-04-18 AssignedTo|unassigned at gcc dot |redi at gcc dot gnu.org |gnu.org | Ever Confirmed|0 |1 --- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> 2012-04-18 10:05:43 UTC --- We could fix this just by overloading __throw_system_error to take a string: __throw_system_error(int(errc::operation_not_permitted), "Enable multithreading support to use std::thread"); then passing that to the std::system_error constructor. That would give something like: terminate called after throwing an instance of 'std::system_error' what(): Enable multithreading support to use std::thread: Operation not permitted Aborted (core dumped)