summaryrefslogtreecommitdiff
path: root/sc/source
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2017-12-20 19:44:51 +0100
committerEike Rathke <erack@redhat.com>2017-12-22 00:11:49 +0100
commit409f32c514a85ac735f82cbf36308c1709b569ec (patch)
tree9708e9ac760ecaef95cc3d87434a8cf14fba94a9 /sc/source
parent9364ae836e6975da64abf87eb7c2b02e601e69db (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/46859 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Diffstat (limited to 'sc/source')
-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 aee7f56d8e8f..396c25537ffb 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1674,6 +1674,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;
mbOpenCLEnabled = false;