From 2b1f1030bf642d1b9c8af91aa78683a9fb95e6f4 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Tue, 12 Jul 2016 19:39:33 +0100 Subject: 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 Tested-by: Michael Meeks --- sc/source/core/opencl/formulagroupcl.cxx | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sc/source/core/opencl/formulagroupcl.cxx') 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(); } -- cgit v1.2.3