summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-12-20 19:44:51 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2018-01-07 15:21:02 +0100
commit02a60985b4a7333f1af6ba46021b56e641355589 (patch)
tree927d94d0ae33a0d76b45ee4c76be16df694b9a3f /sc
parent174822c33c8d35d514fbb713e6a22d20559bb034 (diff)
Exclude more special OpCode values from vectorization
Namely those that have some reference assigned. Change-Id: Icd5f79612295f13d552a256233b8f1298e3e5359 (cherry picked from commit b34c0cd9ada297e9565b1a93fcaa2a96333e1881) Reviewed-on: https://gerrit.libreoffice.org/46861 Tested-by: Eike Rathke <erack@redhat.com> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/tool/token.cxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 7a9db36dbb1a..562d03f62394 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1604,6 +1604,19 @@ void ScTokenArray::CheckToken( const FormulaToken& r )
// Named expression would need "recursive" handling of its
// token array for vector state in
// ScFormulaCell::InterpretFormulaGroup() and below.
+
+ case ocTableRef:
+ // May result in a single cell or range reference, depending on
+ // context.
+
+ case ocColRowName:
+ // The associated reference is the name cell with which to
+ // create the implicit intersection.
+
+ case ocColRowNameAuto:
+ // Auto column/row names lead to references computed in
+ // interpreter.
+
SAL_INFO("sc.opencl", "opcode " << formula::FormulaCompiler().GetOpCodeMap(sheet::FormulaLanguage::ENGLISH)->getSymbol(eOp) << " disables vectorisation for formula group");
meVectorState = FormulaVectorDisabledByOpCode;
break;