summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2015-10-18 22:57:47 +0300
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-02-02 17:10:23 +0000
commit6f50edb1aabaf9de37782e63abd109e2276bd0c4 (patch)
tree1a9ca4cb589ba52752c3128d5a40262329270263
parent406fdc37081a2bdbb4f15f80605f881105c15da0 (diff)
tdf#97150: tdf#94924: If we can't handle strings, don't try to then
Fixes the VLOOKUP problem reported in tdf#94540 by falling back to non-OpenCL for such a case, where one of the columns passed to the VLOOKUP contained strings. And since a while, we don't claim to handle strings in VLOOKUP. Which is true. (cherry picked from commit 476bef70f1d9fd58b29a1f6fb95e54567b031acf) Change-Id: I4140c86bf8166beb8201aa90c075d9f4432d9173 Reviewed-on: https://gerrit.libreoffice.org/21874 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
-rw-r--r--sc/source/core/opencl/formulagroupcl.cxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/sc/source/core/opencl/formulagroupcl.cxx b/sc/source/core/opencl/formulagroupcl.cxx
index 2667f5d67e96..4b8b50e98e69 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -2659,6 +2659,13 @@ DynamicKernelSoPArguments::DynamicKernelSoPArguments(const ScCalcConfig& config,
new DynamicKernelMixedSlidingArgument(mCalcConfig,
ts, ft->Children[i], mpCodeGen, j)));
}
+ else if (!AllStringsAreNull(pDVR->GetArrays()[j].mpStringArray, pDVR->GetArrayLength()) &&
+ !pCodeGen->takeString())
+ {
+ // Can't handle
+ SAL_INFO("sc.opencl", "Strings but can't do that.");
+ throw UnhandledToken(pChild, ("unhandled operand " + StackVarEnumToString(pChild->GetType()) + " for ocPush").c_str());
+ }
else
{
// Not sure I can figure out what case this exactly is;)