summaryrefslogtreecommitdiff
path: root/external/clucene
AgeCommit message (Collapse)AuthorFilesLines
2021-01-06external/clucene: Fix MSVC /Zc:strictStringsStephan Bergmann2-0/+23
...which is apparently enabled at least in MSVC 2019 16.8.3 when building with --with-latest-c++ (i.e., /std:c++latest): > C:/lo/core/workdir/UnpackedTarball/clucene/src/contribs-lib/CLucene/analysis/PorterStemmer.cpp(124): error C2664: 'bool lucene::analysis::PorterStemmer::ends(TCHAR *)': cannot convert argument 1 from 'const wchar_t [5]' to 'TCHAR *' > C:/lo/core/workdir/UnpackedTarball/clucene/src/contribs-lib/CLucene/analysis/PorterStemmer.cpp(124): note: Conversion from string literal loses const qualifier (see /Zc:strictStrings) > C:/lo/core/workdir/UnpackedTarball/clucene/src/contribs-lib/CLucene/analysis/PorterStemmer.cpp(97): note: see declaration of 'lucene::analysis::PorterStemmer::ends' etc. (and which is not silenced by gb_Library_set_warnings_disabled in external/clucene/Library_clucene.mk, unlike the corresponding Clang/GCC -Wwrite-strings) Change-Id: Id3c8eefa4658bf942de6c8ae9b219212eba79995 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108840 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-18Mark external/clucene/patches/c++20.patch as sent upstreamStephan Bergmann1-0/+2
Change-Id: Iaa3e251648afaa4bd3178dcff99594ce609083eb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96591 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-06-17external/clucene: Adapt to C++20 CWG2237Stephan Bergmann2-0/+12
...<http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#2237> "Can a template-id name a constructor?", as implemented by GCC 11 trunk since <https://gcc.gnu.org/git/?p=gcc.git;a=commit; h=4b38d56dbac6742b038551a36ec80200313123a1> "c++: C++20 DR 2237, disallow simple-template-id in cdtor." Change-Id: I507fc5bde20fdf09b4e31a3db8a7554a473f1a9f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96549 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-24Mark external/clucene/patches/heap-buffer-overflow.patch as sent upstreamStephan Bergmann1-0/+2
Change-Id: Idb60ae8a2389197bcfe8b1c7848c08f551702c93 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92839 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-23external/clucene: Avoid heap-buffer-overflowStephan Bergmann2-0/+12
...as seen during a --with-lang=ALL build with ASan on Linux: > [XHC] nlpsolver ja > ================================================================= > ==51396==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62100000ed00 at pc 0x7fe425640f53 bp 0x7ffd6a0cc900 sp 0x7ffd6a0cc8f8 > READ of size 4 at 0x62100000ed00 thread T0 > #0 in lucene::analysis::cjk::CJKTokenizer::next(lucene::analysis::Token*) at workdir/UnpackedTarball/clucene/src/contribs-lib/CLucene/analysis/cjk/CJKAnalyzer.cpp:70:19 > #1 in lucene::index::DocumentsWriter::ThreadState::FieldData::invertField(lucene::document::Field*, lucene::analysis::Analyzer*, int) at workdir/UnpackedTarball/clucene/src/core/CLucene/index/DocumentsWriterThreadState.cpp:901:32 > #2 in lucene::index::DocumentsWriter::ThreadState::FieldData::processField(lucene::analysis::Analyzer*) at workdir/UnpackedTarball/clucene/src/core/CLucene/index/DocumentsWriterThreadState.cpp:798:9 > #3 in lucene::index::DocumentsWriter::ThreadState::processDocument(lucene::analysis::Analyzer*) at workdir/UnpackedTarball/clucene/src/core/CLucene/index/DocumentsWriterThreadState.cpp:557:24 > #4 in lucene::index::DocumentsWriter::updateDocument(lucene::document::Document*, lucene::analysis::Analyzer*, lucene::index::Term*) at workdir/UnpackedTarball/clucene/src/core/CLucene/index/DocumentsWriter.cpp:946:16 > #5 in lucene::index::DocumentsWriter::addDocument(lucene::document::Document*, lucene::analysis::Analyzer*) at workdir/UnpackedTarball/clucene/src/core/CLucene/index/DocumentsWriter.cpp:930:10 > #6 in lucene::index::IndexWriter::addDocument(lucene::document::Document*, lucene::analysis::Analyzer*) at workdir/UnpackedTarball/clucene/src/core/CLucene/index/IndexWriter.cpp:681:28 > #7 in HelpIndexer::indexDocuments() at helpcompiler/source/HelpIndexer.cxx:66:20 > #8 in main at helpcompiler/source/HelpIndexer_main.cxx:79:22 > 0x62100000ed00 is located 0 bytes to the right of 4096-byte region [0x62100000dd00,0x62100000ed00) > allocated by thread T0 here: > #0 in realloc at /data/sbergman/github.com/llvm/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:164:3 > #1 in lucene::util::StreamBuffer<wchar_t>::setSize(int) at workdir/UnpackedTarball/clucene/src/core/CLucene/util/_streambuffer.h:114:17 > #2 in lucene::util::StreamBuffer<wchar_t>::makeSpace(int) at workdir/UnpackedTarball/clucene/src/core/CLucene/util/_streambuffer.h:150:5 > #3 in lucene::util::BufferedStreamImpl<wchar_t>::setMinBufSize(int) at workdir/UnpackedTarball/clucene/src/core/CLucene/util/_bufferedstream.h:69:16 > #4 in lucene::util::SimpleInputStreamReader::Internal::JStreamsBuffer::JStreamsBuffer(lucene::util::CLStream<signed char>*, int) at workdir/UnpackedTarball/clucene/src/core/CLucene/util/Reader.cpp:375:6 Note that this is not a proper fix, which would need to properly detect surrogate pairs split across buffer boundaries. But for one the comment says "however, gunichartables doesn't seem to classify any of the surrogates as alpha, so they are skipped anyway", and for another the behavior until now was to replace the high surrogate with soemthing that was likely garbage and leave the low surrogate at the start of the next buffer (if any) alone, so leaving both surrogates alone is likely at least no worse behavior. Change-Id: Ib6f6f1bc20ef8efe0418bf2e715783c8555068de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92792 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-22Mark external/clucene/patches/ostream-wchar_t.patch as sent upstreamStephan Bergmann1-0/+2
Change-Id: I96785db3e7b94b55b3ab3ae911e5fb3058c6502b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92718 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-22Add what looks like a plausible upstream URL to external/clucene/READMEStephan Bergmann1-1/+1
(which looks plausible esp. given the matching mentions of <http://sourceforge.net/mailarchive/> in external/clucene/UnpackedTarball_clucene.mk) Change-Id: I21234a2dd611a561c9eb9c03880ee6d673694be5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92712 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-03external/clucene: Adapt to C++20 deleted ostream << for non-plain char typesStephan Bergmann2-0/+30
<http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1423r3.html> "char8_t backward compatibility remediation", as implemented now by <https://gcc.gnu.org/ git/?p=gcc.git;a=commit;h=0c5b35933e5b150df0ab487efb2f11ef5685f713> "libstdc++: P1423R3 char8_t remediation (2/4)" for -std=c++2a, deletes operator << overloads that would print a pointer rather than a (presumably expected) string. So this infoStream output appears to have always been broken (the strings use TCHAR, which appears to unconditionally be a typedef for wchar_t, see workdir/UnpackedTarball/clucene/src/shared/CLucene/clucene-config.h), and appears to be just of informative nature, so just simplify it to not try to print any problematic parts. Change-Id: Ie9f8edb03aff461a15718a0c025af57004aba0a9 Reviewed-on: https://gerrit.libreoffice.org/84320 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-14add PCHs for more external libsLuboš Luňák3-0/+122
I think this is all external libs where it makes sense for them to have their own PCH and be worth it. Maybe some smaller externals can also use the common system PCH, but unfortunately many externals use all kinds of defines that affect system headers, which is a problem for the common system PCH. Change-Id: I2c589ac55d93728daf3b158df110722e5f055d45 Reviewed-on: https://gerrit.libreoffice.org/80728 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-24disable warnings in external libsLuboš Luňák1-10/+1
As in, really disable, so that they do not even show. This moreover avoids tons of D9025 warnings from MSVC about overriding -W4 with -w. Change-Id: Ia2e72fd72d883d91bdd89e467ee42f259e2ae033 Reviewed-on: https://gerrit.libreoffice.org/72899 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-04-25Cut down on -pthread/-lpthread proliferationStephan Bergmann1-1/+0
Building against libstdc++ effectively always requires -pthread anyway (as various standard C++ headers require it, see the comment added to solenv/gbuild/platform/unxgcc.mk), so many explicit uses of -pthread/-lpthread can be removed. Doing a (partial) test build on Linux with Clang -stdlib=libc++ suggests that libc++ indeed doesn't need -pthread as libstdc++ does. The remaining uses of -pthread/-lpthread are mostly in configure.ac for the various BSDs (which somebody else might want to clean up now), and related to external projects. I tried to be careful to remove -pthread/-lpthread from makefiles only when C++ object files are involved (so -pthread will now be included on the link command line by default). Change-Id: I936e082839cb9a434bd273ce5a1f187a4245dfa1 Reviewed-on: https://gerrit.libreoffice.org/71291 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-15Enable C++17 for clang-cl, tooStephan Bergmann1-0/+6
Similar to libc++ in C++17 mode, some types like std::auto_ptr are indeed removed in C++17 mode by default, and need _HAS_AUTO_PTR_ETC=1 to be enabled (see <https://blogs.msdn.microsoft.com/vcblog/2017/12/08/c17-feature-removals- and-deprecations/>). Unlike libc++, also std::binary_function and std::unary_function are removed (and need the same _HAS_AUTO_PTR_ETC=1 to enable). So either set that flag to make external code build, or use patches (for external/mdds) to make externals' files included in LO proper still work there. Change-Id: I886cc0de8196255334ee03ec48cb4bc54d460afd Reviewed-on: https://gerrit.libreoffice.org/46514 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-11-02Use gb_UnpackedTarball_get_dirStephan Bergmann1-4/+4
Change-Id: I931f0d95cad0a63d344c84d89ba7c80f14be8ec9
2017-03-06drop various _MSC_VER < 1900 conditionalsCaolán McNamara1-3/+0
Change-Id: I68d93b260db1f542bb3b44858b61b2d30ae93530 Reviewed-on: https://gerrit.libreoffice.org/34856 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-02-10Remove MinGW supportStephan Bergmann3-308/+0
In OOo times, there'd originally been efforts to allow building on Windows with MinGW. Later, in LO times, this has been shifted to an attempt of cross- compiling for Windows on Linux. That attempt can be considered abandoned, and the relevant code rotting. Due to this heritage, there are now three kinds of MinGW-specific code in LO: * Code from the original OOo native Windows effort that is no longer relevant for the LO cross-compilation effort, but has never been removed properly. * Code from the original OOo native Windows effort that is re-purposed for the LO cross-compilation effort. * Code that has been added specifially for the LO cross-compilation effort. All three kinds of code are removed. (An unrelated, remaining use of MinGW is for --enable-build-unowinreg, utilizing --with-mingw-cross-compiler, MINGWCXX, and MINGWSTRIP.) Change-Id: I49daad8669b4cbe49fa923050c4a4a6ff7dda568 Reviewed-on: https://gerrit.libreoffice.org/34127 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-10-07tdf#100302: gbuild: always use $(LFS_CFLAGS)Michael Stahl1-1/+0
Currently LFS_CFLAGS are only used in a handful of libraries but there's no obvious reason why it can't just be set everywhere. Also set it in windows.mk, i have no idea if it's needed for MinGW (certainly not for MSVC). Change-Id: I5f62e3011c2089abbf5539fc54c7ff10e07b1599
2016-01-21Fix for Jenkins Gerrit Mac buildsStephan Bergmann1-1/+7
...which choke on #pragma GCC diagnostic ignored "-Wpragmas" Change-Id: I40100b43078320b79cb9e3d4e3fb369db0bed9fe
2016-01-19Silence -Werror,-Wunknown-pragmasStephan Bergmann1-1/+2
Change-Id: If726008f6755db59b01784ad6b479bbfe2d23e96
2016-01-19external/clucene: Silence -Werror=misleading-indentation (GCC 6)Stephan Bergmann1-1/+2
Change-Id: I9a067605f7c477f4e057338577a437cda7f2aa3d
2015-12-02external/clucene: Use warning-supression pragmas for clang-cl, tooStephan Bergmann1-10/+10
Change-Id: I23da54974f39da5fccb619d6fa68eff38e70f5a5
2015-11-18No more need to include config_global.hStephan Bergmann1-10/+5
...after 3b59dbbffdb73e48f9e2398bb1eecc24e3d95e13 "remove HAVE_GCC_PRAGMA_DIAGNOSTIC_SCOPE check and macro" Change-Id: I0e9f3c15d48affe104dd6b5df9828ef5e62dfa88
2015-07-28Fix clucene on MSVC 14.0David Ostrovsky2-0/+56
Change-Id: I225d9c5eb1d9c9851b3f64f7c654cfede6297933 Reviewed-on: https://gerrit.libreoffice.org/17339 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2014-10-02remove HAVE_GCC_PRAGMA_DIAGNOSTIC_SCOPE check and macroMichael Stahl1-10/+10
This is supported in GCC 4.6.0 already: https://gcc.gnu.org/onlinedocs/gcc-4.6.0/gcc/Diagnostic-Pragmas.html Change-Id: I2f67e588eea3a323a2e9c81e39e56ab2e715a817
2014-07-07VS 2013 already has float_tTor Lillqvist1-0/+2
Change-Id: Ibf6f1d60fc7ec92e24fc366dc193cbd70f13c18c
2014-05-22Record patch upstream notificationStephan Bergmann1-0/+2
Change-Id: I102160cb6fac41f5ba3caa5cb947aebbcd62681f
2014-05-21external/clucene: Avoid InitOrderFiascoStephan Bergmann2-0/+27
...as reported by AddressSanitizer, where src/core/CLucene/index/IndexWriter.cpp initializes IndexWriter::MAX_TERM_LENGTH with the value of DocumentsWriter::MAX_TERM_LENGTH before the latter is initialized in src/core/CLucene/index/DocumentsWriter.cpp. But turns out that IndexWriter::MAX_TERM_LENGTH is completely unused. Change-Id: Ica01186584ec05a989a13dc58823f4751e8724e2
2014-05-08Record patch upstream notificationStephan Bergmann1-1/+3
Change-Id: I210b995d4a8eb3e2f00ba982f7a6cf5ecd8e6f0d
2014-05-08CLucene: Helgrind reported "pthread_mutex_destroy of a locked mutex"Stephan Bergmann2-0/+14
> pthread_mutex_destroy (/usr/src/debug/valgrind-3.9.0/helgrind/hg_intercepts.c:478) > lucene::util::mutex_thread::~mutex_thread() (workdir/UnpackedTarball/clucene/src/shared/CLucene/config/threads.cpp:179) > lucene::store::FSDirectory::FSIndexInput::close() (workdir/UnpackedTarball/clucene/src/core/CLucene/store/FSDirectory.cpp:225) > lucene::index::SegmentInfos::read(lucene::store::Directory*, char const*) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/SegmentInfos.cpp:770) > lucene::index::IndexFileDeleter::IndexFileDeleter(lucene::store::Directory*, lucene::index::IndexDeletionPolicy*, lucene::index::SegmentInfos*, std::ostream*, lucene::index::DocumentsWriter*) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/IndexFileDeleter.cpp:149) > lucene::index::IndexWriter::init(lucene::store::Directory*, lucene::analysis::Analyzer*, bool, bool, lucene::index::IndexDeletionPolicy*, bool) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/IndexWriter.cpp:262) > lucene::index::IndexWriter::IndexWriter(char const*, lucene::analysis::Analyzer*, bool) (workdir/UnpackedTarball/clucene/src/core/CLucene/index/IndexWriter.cpp:158) > HelpIndexer::indexDocuments() (helpcompiler/source/HelpIndexer.cxx:55) Change-Id: I19cb9bd49b339d206a624c1f1d3dacdd909f4e25
2014-04-11CLucene: Some trivial GCC -fsanitize=undefined fixesStephan Bergmann2-0/+34
Change-Id: I40132f735eabbead0a1f16d44dbd8878b03902ce
2014-02-20EXTERNAL_WARNINGS_NOT_ERRORS -> ENABLE_WERROR and be "TRUE"/""Matúš Kukan1-4/+0
It's easier to type 'make ENABLE_WERROR= <module>' if one wants that. Change-Id: I2bb9911259f41ecae27dc110723f3364b3ff09cf
2013-11-14external/clucene: -Werror,-Wunused-parameterStephan Bergmann1-1/+2
Change-Id: Iedb2d7c62f6498691bffd0beb529e479d62d004e
2013-11-14clucene: stop using #pragma GCC system_headerMichael Stahl1-10/+76
... it breaks dependency generation. Change-Id: I992e47ecea697617820358f711b7a6408fdabbe3
2013-10-18Fix building from inside modules moved to externalKhaled Hosny1-1/+1
Change-Id: Id6023dc3751fe70984f489682be17d1ab1855f71
2013-10-17fdo#70393: move clucene to a subdir of externalKhaled Hosny22-0/+1711
Change-Id: Ia9b7b18526119e29e21eb315d84d099861e15ea0 Reviewed-on: https://gerrit.libreoffice.org/6285 Reviewed-by: Björn Michaelsen <bjoern.michaelsen@canonical.com> Tested-by: Björn Michaelsen <bjoern.michaelsen@canonical.com>