summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Lillqvist <tml@collabora.com>2015-10-18 22:57:47 +0300
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2016-02-02 22:25:23 +0000
commit320246d24d8a07cdb6b8400e8afa48696cc39343 (patch)
tree5f3440e3dc54690902d2dd94f31471b0dcd5cef6
parent89aa74dd903a7919b33982bc2efc74c8ec902fdc (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/21875 Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com> Reviewed-by: Michael Stahl <mstahl@redhat.com> Reviewed-by: David Ostrovsky <david@ostrovsky.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
-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;)