aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CPP
diff options
context:
space:
mode:
authorMichalis Spyrou <michalis.spyrou@arm.com>2018-11-30 16:30:43 +0000
committerMichalis Spyrou <michalis.spyrou@arm.com>2018-12-03 13:47:53 +0000
commit323ce0f0b06bca785959913e75e1f51d383c351a (patch)
treedc3729e19a43d8290285987c51d9799581412c33 /src/runtime/CPP
parent08a4517905da959b6e3401cc24f5e2018f9b51ac (diff)
downloadComputeLibrary-323ce0f0b06bca785959913e75e1f51d383c351a.tar.gz
COMPMID-1819 Add option to build library with -fno-exceptions
Change-Id: I3de6bb33746d52f8d8c337ab7776eccee8c205fb Reviewed-on: https://review.mlplatform.org/328 Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com> Reviewed-by: Pablo Marquez <pablo.tello@arm.com> Tested-by: Arm Jenkins <bsgcomp@arm.com>
Diffstat (limited to 'src/runtime/CPP')
-rw-r--r--src/runtime/CPP/CPPScheduler.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/runtime/CPP/CPPScheduler.cpp b/src/runtime/CPP/CPPScheduler.cpp
index 2b179fd5ff..5916bb46fd 100644
--- a/src/runtime/CPP/CPPScheduler.cpp
+++ b/src/runtime/CPP/CPPScheduler.cpp
@@ -190,15 +190,19 @@ void CPPScheduler::Thread::worker_thread()
return;
}
+#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED
try
{
+#endif /* ARM_COMPUTE_EXCEPTIONS_ENABLED */
process_workloads(*_workloads, *_feeder, _info);
+
+#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED
}
catch(...)
{
_current_exception = std::current_exception();
}
-
+#endif /* ARM_COMPUTE_EXCEPTIONS_DISABLED */
_job_complete = true;
lock.unlock();
_cv.notify_one();
@@ -250,18 +254,21 @@ void CPPScheduler::run_workloads(std::vector<IScheduler::Workload> &workloads)
info.thread_id = t;
process_workloads(workloads, feeder, info);
-
+#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED
try
{
+#endif /* ARM_COMPUTE_EXCEPTIONS_DISABLED */
for(auto &thread : _threads)
{
thread.wait();
}
+#ifndef ARM_COMPUTE_EXCEPTIONS_DISABLED
}
catch(const std::system_error &e)
{
std::cerr << "Caught system_error with code " << e.code() << " meaning " << e.what() << '\n';
}
+#endif /* ARM_COMPUTE_EXCEPTIONS_DISABLED */
}
#endif /* DOXYGEN_SKIP_THIS */