sc/source/core/data/queryiter.cxx | 5 +++++ sc/source/core/inc/interpre.hxx | 3 +-- sc/source/core/tool/interpr1.cxx | 1 + 3 files changed, 7 insertions(+), 2 deletions(-)
New commits: commit 78b907e70359c11f5aba5568447056a130213ebd Author: Stephan Bergmann <stephan.bergm...@allotropia.de> AuthorDate: Thu Feb 15 14:49:10 2024 +0100 Commit: Stephan Bergmann <stephan.bergm...@allotropia.de> CommitDate: Thu Feb 15 19:44:28 2024 +0100 Move #include <queryiter.hxx> to where it is actually used f7039822c7ad3987326e1c20ea4a745c158f9682 "tdf#127293 Add Excel2021 function XLOOKUP to Calc" had moved this #include around, with no documented rationale and for no obvious reason. Lets move it back. Change-Id: I87c96526a6006837c9303d6af7bcf4e79e0bd581 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163442 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de> diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx index e577a5e2bf8a..ea30b57ae7ea 100644 --- a/sc/source/core/inc/interpre.hxx +++ b/sc/source/core/inc/interpre.hxx @@ -30,7 +30,7 @@ #include <token.hxx> #include <math.hxx> #include <kahan.hxx> -#include <queryiter.hxx> +#include <queryentry.hxx> #include "parclass.hxx" #include <map> @@ -47,7 +47,6 @@ class ScFormulaCell; class ScDBRangeBase; struct ScQueryParam; struct ScDBQueryParamBase; -struct ScQueryEntry; struct ScSingleRefData; struct ScComplexRefData; diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx index 960516d787ea..3d3b967ffaa0 100644 --- a/sc/source/core/tool/interpr1.cxx +++ b/sc/source/core/tool/interpr1.cxx @@ -62,6 +62,7 @@ #include <doubleref.hxx> #include <queryparam.hxx> #include <queryentry.hxx> +#include <queryiter.hxx> #include <tokenarray.hxx> #include <compare.hxx> #include <comphelper/lok.hxx> commit 33505523731b930c9a1282bab293e59c9922317f Author: Stephan Bergmann <stephan.bergm...@allotropia.de> AuthorDate: Thu Feb 15 12:30:20 2024 +0100 Commit: Stephan Bergmann <stephan.bergm...@allotropia.de> CommitDate: Thu Feb 15 19:44:15 2024 +0100 Explicitly instantiate templates ...that are used in inline functions in sc/inc/queryiter.hxx, but where the template definition is only available in sc/source/core/data/queryiter.cxx, and which had caused at least Clang PCH builds to now fail with > ld.lld: error: undefined symbol: bool ScQueryCellIteratorAccessSpecific<(ScQueryCellIteratorAccess)1>::IncPosImpl<false>() > >>> referenced by queryiter.hxx:111 (sc/inc/queryiter.hxx:111) > >>> workdir/CxxObject/sc/inc/pch/precompiled_sc.o:(ScQueryCellIteratorAccessSpecific<(ScQueryCellIteratorAccess)1>::IncPos()) > > ld.lld: error: undefined symbol: bool ScQueryCellIteratorAccessSpecific<(ScQueryCellIteratorAccess)1>::IncPosImpl<true>() > >>> referenced by queryiter.hxx:112 (sc/inc/queryiter.hxx:112) > >>> workdir/CxxObject/sc/inc/pch/precompiled_sc.o:(ScQueryCellIteratorAccessSpecific<(ScQueryCellIteratorAccess)1>::IncPosFast()) > clang++: error: linker command failed with exit code 1 (use -v to see invocation) > make[1]: *** [sc/Library_sc.mk:10: instdir/program/libsclo.so] Error 1 Change-Id: If87b268a69e7acd411164ce53c549be32ded41cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163434 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <stephan.bergm...@allotropia.de> diff --git a/sc/source/core/data/queryiter.cxx b/sc/source/core/data/queryiter.cxx index 43996b1693eb..56d4081e7255 100644 --- a/sc/source/core/data/queryiter.cxx +++ b/sc/source/core/data/queryiter.cxx @@ -1284,6 +1284,11 @@ bool ScQueryCellIteratorAccessSpecific< ScQueryCellIteratorAccess::SortedCache > } } +template +bool ScQueryCellIteratorAccessSpecific<ScQueryCellIteratorAccess::SortedCache>::IncPosImpl<false>(); +template +bool ScQueryCellIteratorAccessSpecific<ScQueryCellIteratorAccess::SortedCache>::IncPosImpl<true>(); + // Helper that allows binary search of unsorted cells using ScSortedRangeCache. // Rows in the given range are kept in a sorted vector and that vector is binary-searched. class ScQueryCellIteratorAccessSpecific< ScQueryCellIteratorAccess::SortedCache >::SortedCacheIndexer