summaryrefslogtreecommitdiff
path: root/sc/source/core/opencl/formulagroupcl.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2016-07-12 19:39:33 +0100
committerMichael Meeks <michael.meeks@collabora.com>2016-07-12 20:00:58 +0000
commit2b1f1030bf642d1b9c8af91aa78683a9fb95e6f4 (patch)
tree4c72e46d7b6cb752f0250fffe39948a9c6d844a8 /sc/source/core/opencl/formulagroupcl.cxx
parentbab5387447d2ea386b49367fe373b124a57c5ce6 (diff)
tdf#100883 - opencl impls. that use SEH are still bad.
Amazingly we fell-back to the old calculation path for crashes in older LibreOffices. Change-Id: Ia182f7a25c5560b68494d5cdd68e02925bfd5845 Reviewed-on: https://gerrit.libreoffice.org/27164 Reviewed-by: Jan Holesovsky <kendy@collabora.com> Tested-by: Michael Meeks <michael.meeks@collabora.com>
Diffstat (limited to 'sc/source/core/opencl/formulagroupcl.cxx')
-rw-r--r--sc/source/core/opencl/formulagroupcl.cxx5
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx
index 8055ecf0a713..c2835c180b3d 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -4057,6 +4057,7 @@ DynamicKernel* DynamicKernel::create( const ScCalcConfig& rConfig, ScTokenArray&
catch (...)
{
SAL_WARN("sc.opencl", "Dynamic formula compiler: unhandled compiler error");
+ ::opencl::kernelFailures++;
return nullptr;
}
return pDynamicKernel;
@@ -4167,21 +4168,25 @@ public:
catch (const UnhandledToken& ut)
{
SAL_WARN("sc.opencl", "Dynamic formula compiler: unhandled token: " << ut.mMessage << " at " << ut.mFile << ":" << ut.mLineNumber);
+ ::opencl::kernelFailures++;
return CLInterpreterResult();
}
catch (const OpenCLError& oce)
{
SAL_WARN("sc.opencl", "Dynamic formula compiler: OpenCL error from " << oce.mFunction << ": " << ::opencl::errorString(oce.mError) << " at " << oce.mFile << ":" << oce.mLineNumber);
+ ::opencl::kernelFailures++;
return CLInterpreterResult();
}
catch (const Unhandled& uh)
{
SAL_WARN("sc.opencl", "Dynamic formula compiler: unhandled case at " << uh.mFile << ":" << uh.mLineNumber);
+ ::opencl::kernelFailures++;
return CLInterpreterResult();
}
catch (...)
{
SAL_WARN("sc.opencl", "Dynamic formula compiler: unhandled compiler error");
+ ::opencl::kernelFailures++;
return CLInterpreterResult();
}