summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2015-10-18 22:57:47 +0300
committerTor Lillqvist <tml@collabora.com>2015-10-18 22:58:39 +0300
commit476bef70f1d9fd58b29a1f6fb95e54567b031acf (patch)
tree628b6f997ae6d499dbf83038dc2006f111677ebd /sc
parenta80c3a5c14399802d7bbd6fb9a1b57621a594445 (diff)
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. Change-Id: I4140c86bf8166beb8201aa90c075d9f4432d9173
Diffstat (limited to 'sc')
-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 a7ce5f80af09..ab4fa023c51f 100644
--- a/sc/source/core/opencl/formulagroupcl.cxx
+++ b/sc/source/core/opencl/formulagroupcl.cxx
@@ -2657,6 +2657,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;)