aboutsummaryrefslogtreecommitdiff
path: root/build2/utility
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2017-04-01 11:33:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2017-04-01 11:33:11 +0200
commitc4adc6d6aa772cb9b8e5dc294bbdc75b4e22f38d (patch)
tree9afe3b10ec514dc5b1b284b4b39bd61f22d4f7f9 /build2/utility
parent01570ff5ee4568c63d8466cfb972cc31a2451a18 (diff)
Redo handling of unhandled exceptions in async execution
Here is the problem: noexcept looses the call stack. That is, unlike an unhandled exception, if noexcept is tripped, then you won't see the place where it was thrown. In this new implementation we now have noexcept only on the task thunk. And the task is called via a thunk only in case of async execution. This means that if we are executing serially (-j 1), then this will be an unhandled exception, not noexcept. Hopefully will be a bit easier to debug.
Diffstat (limited to 'build2/utility')
-rw-r--r--build2/utility1
1 files changed, 0 insertions, 1 deletions
diff --git a/build2/utility b/build2/utility
index 2880bb5..d7b4797 100644
--- a/build2/utility
+++ b/build2/utility
@@ -10,7 +10,6 @@
#include <string> // to_string()
#include <utility> // move(), forward(), declval(), make_pair()
#include <cassert> // assert()
-#include <cstdlib> // abort()
#include <iterator> // make_move_iterator()
#include <algorithm> // *
#include <functional> // ref(), cref()