[Libreoffice-commits] core.git: sc/source
Eike Rathke
erack at redhat.com
Thu Dec 21 00:11:17 UTC 2017
sc/source/core/tool/token.cxx | 33 +++++++++++++++++++++++++++++++--
1 file changed, 31 insertions(+), 2 deletions(-)
New commits:
commit b366adcf5aca8bb22ccd0dd270ab08e9c8976b5b
Author: Eike Rathke <erack at redhat.com>
Date: Wed Dec 20 21:32:55 2017 +0100
Invert logic, include only known good, tdf#114251 related
Change-Id: Ic362ad6c35f7f6374fc262029251e48e4f82d778
Reviewed-on: https://gerrit.libreoffice.org/46863
Reviewed-by: Eike Rathke <erack at redhat.com>
Tested-by: Jenkins <ci at libreoffice.org>
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index bb7ecc9650a9..6979ed459bb7 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -1670,11 +1670,18 @@ void ScTokenArray::CheckToken( const FormulaToken& r )
// All the rest, special commands, separators, error codes, ...
switch (eOp)
{
+ default:
+ // Default is off, no vectorization.
+ // Mentioning some specific values below to indicate why.
+
case ocName:
// Named expression would need "recursive" handling of its
// token array for vector state in
// ScFormulaCell::InterpretFormulaGroup() and below.
+ case ocDBArea:
+ // Certainly not a vectorization of the entire area..
+
case ocTableRef:
// May result in a single cell or range reference, depending on
// context.
@@ -1692,8 +1699,30 @@ void ScTokenArray::CheckToken( const FormulaToken& r )
mbOpenCLEnabled = false;
CheckForThreading(eOp);
break;
- default:
- ; // nothing
+
+ // Known good, don't change state.
+ case ocStop:
+ case ocExternal:
+ case ocOpen:
+ case ocClose:
+ case ocSep:
+ case ocArrayOpen:
+ case ocArrayRowSep:
+ case ocArrayColSep:
+ case ocArrayClose:
+ case ocMissing:
+ case ocBad:
+ case ocSpaces:
+ case ocSkip:
+ case ocPercentSign:
+ case ocErrNull:
+ case ocErrDivZero:
+ case ocErrValue:
+ case ocErrRef:
+ case ocErrName:
+ case ocErrNum:
+ case ocErrNA:
+ break;
}
}
}
More information about the Libreoffice-commits
mailing list