Age | Commit message (Collapse) | Author |
|
...so it's unclear why 2f5f45921b05904a4be1ff633be09c62cb44ff08 "support
O(U)String::number() for fast string concatenation" added that here.
On the contrary, variables of type OStringNumber can be useful replacements for
calls to std::sprintf (which started to emit deprecation warnings with
macOS 13 SDK now), so this is in preparation for follow-up commits that will
replace many uses of that across the code base with various alternatives.
Change-Id: I6f8508d49dc84773c50f4c33dba38fe08c4c8969
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142318
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
<https://github.com/llvm/llvm-project/commit/1acffe81ee9117691812b9bf8747c03354177d15>
"NFC: [clang] Template argument cleanups."
Change-Id: I84bc276c21efcc11643ae7003e0fee6c7592130f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141860
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I3c94d68cb85adc2005a5a5e3b03a311732f782c3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141617
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib7ded8db2c513909159f0876389f63b60082a529
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141618
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Make the script filter out more external code
Change-Id: I131da451e148e193552ead7c1441b06b726df619
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141616
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
<https://github.com/llvm/llvm-project/commit/bcd9ba2b7e64f6ce54defd2fa73fc8e0fee5707c>
"[clang] Track the templated entity in type substitution."
Change-Id: I314d1567512dc0332b3c61c95978b0230f52b274
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141462
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: If5a8e74b7ede80b782b584b4f62ec1b8713fd86d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141445
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...after 3d236177be255b2027a997bfc12fe0833ca9a2f7 "Deduplicate
O(U)StringConcatenation" changed OStringConcat and OUStringConcat into aliases
(so they will get looked through by loplugin::TypeCheck::Struct's use of
getAs<clang::RecordType> in compilerplugins/clang/check.hxx), but apparently
forgot to drop their respective checks here. (That the then-added check for
StringConcat works as intended is verified by
compilerplugins/clang/test/stringview.cxx, btw.)
Change-Id: I3f8e26998d0a55704f0433a818493ef541fd05eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141370
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...after 3d236177be255b2027a997bfc12fe0833ca9a2f7 "Deduplicate
O(U)StringConcatenation" changed OStringConcat and OUStringConcat into aliases
(so they can never show up here in a "getUnqualifiedDesugareType"), but
apparently forgot to drop their respective checks here. (That the then-added
check for StringConcat works as intended is verified by
compilerplugins/clang/test/stringadd.cxx, btw.)
Change-Id: I2b589d977dbf2a384348cb7ee62acce30031ccec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141364
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...after af2879e434fa0dc6b2a626617ed865e4f66eb5ad "Deduplicate stringconcat
more" changed the *StringNumberBase::toAsciiUperCase return typr from
O[U]StringNumber to the underlying StringNumberBase. (And where that commit had
added some odd check for a non-existing "StringNumber" type to
compilerplugins/clang/stringconcatauto.cxx, presumably in error.)
Change-Id: I622e6ae30fcec8f081c978eaf67ffb716a10ee4e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141363
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...after 3d236177be255b2027a997bfc12fe0833ca9a2f7 "Deduplicate
O(U)StringConcatenation"
Change-Id: Ib45d021da2bb5745055fa0cdebfd700680bfb787
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141304
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...where at least my recent Clang 16 trunk build now started to fail after
af2879e434fa0dc6b2a626617ed865e4f66eb5ad "Deduplicate stringconcat more" with
> error: 'error' diagnostics expected but not seen:
> File compilerplugins/clang/test/stringview.cxx Line 171 (directive at compilerplugins/clang/test/stringview.cxx:170): instead of an '{{(rtl::)?}}OString' constructed from a 'OStringConcat<rtl::OString, rtl::OString>' (aka 'StringConcat<char, rtl::OString, rtl::OString>'), pass a 'std::string_view' via 'rtl::Concat2View' [loplugin:stringview]
> File compilerplugins/clang/test/stringview.cxx Line 196 (directive at compilerplugins/clang/test/stringview.cxx:195): instead of an '{{(rtl::)?}}OUString' constructed from a 'OUStringConcat<rtl::OUString, rtl::OUString>' (aka 'StringConcat<char16_t, rtl::OUString, rtl::OUString>'), pass a 'std::u16string_view' via 'rtl::Concat2View' [loplugin:stringview]
> error: 'error' diagnostics seen but not expected:
> File compilerplugins/clang/test/stringview.cxx Line 171: instead of an 'OString' constructed from a 'OStringConcat<OString, OString>' (aka 'StringConcat<char, rtl::OString, rtl::OString>'), pass a 'std::string_view' via 'rtl::Concat2View' [loplugin:stringview]
> File compilerplugins/clang/test/stringview.cxx Line 196: instead of an 'OUString' constructed from a 'OUStringConcat<OUString, OUString>' (aka 'StringConcat<char16_t, rtl::OUString, rtl::OUString>'), pass a 'std::u16string_view' via 'rtl::Concat2View' [loplugin:stringview]
> 4 errors generated.
> make[1]: *** [solenv/gbuild/LinkTarget.mk:337: workdir/CxxObject/compilerplugins/clang/test/stringview.o] Error 1
Change-Id: I0b8c7d4a012c40c2c2c3cc8a9e55c52f45e8cfc9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141295
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
In the process, drop ToStringHelper::allowO(U)StringConcat, because
we can deduce this information from ToStringHelper's addData itself.
To do that, addData was converted to ToStringHelper::operator(),
which allows to use std::is_invocable_v on the helper class.
Change-Id: Ic77878ca0ff65ada8c0a942191bc11de15b9ad2a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141254
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Reverting this changes made by error.
See https://gerrit.libreoffice.org/c/core/+/136263/6/compilerplugins/clang/test/constvars.cxx#25
Change-Id: Ica49759682adf55a1f0cef2a842acab603c62dac
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141259
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins
|
|
And use an overloaded helper function with a better (?) unified name
to show that the result is not an O(U)String.
Change-Id: I8956338b05d02bf46a6185828130ea8ef145d46b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141203
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ief37a8025181b6cc8a6e484e2726d8a8d92f57ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140567
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
- also add some constnesss and move some things to private
Change-Id: I67a45e1326361b5a8f7e320b3525e74e93b1ef12
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140556
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
Change-Id: I559f8f1e837830426e820dace6226618c5e0fc62
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140210
Tested-by: Jenkins
Reviewed-by: Bjoern Michaelsen <bjoern.michaelsen@libreoffice.org>
|
|
after
commit 590796ca0866168e3129d2abd0a0197114cddcdc
Author: Noel Grandin <noelgrandin@gmail.com>
Date: Wed Sep 21 20:44:42 2022 +0200
convert TrueTypeTable to C++ class
Change-Id: I5c656011ebe37529788cea6a749c07ada2378385
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140433
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I5534939bfbea67d216a17891722a683c53621d36
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140303
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Look for classes that have more than one ref-counting base class.
A situation which is going to cause trouble.
Which reveals that sdr::table::Cell has two different ref-counting bases,
so rather make SdrText extends OWeakObject, which means
that Cell can just have one ref-counting base,
Change-Id: I8d968270f7b449cff2f29da0bd48fa17181c68c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139807
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...after 9e7e95a57b7c16941d9fdc59f806c1f9e4263379 "tdf#147021 Use std::size()
instead of SAL_N_ELEMENTS() macro" (and somewhat pedantically use the canonical
<iterator> for std::size, even though the existing <vector> defines it, too)
Change-Id: Iacf0a0619b496bfe7c6abb0a812b6a1b3eed40c2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139653
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I4461ca826960b194cf45ae4917093f3273b3b0a2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139643
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Iceb6916bcc8c211a72fccfa4bbcbb22c96a72050
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139642
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
We have 5 gesture types: GestureZoom, GestureRotate, GesturePan,
GestureSwipe and LongPress. For consistency all of these will use
Gesture as a prefix to reduce confusion and for easier grepping
throughout the codebase.
Change-Id: I8b9e245d011203a19c1172f9833c172f65382cab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139244
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
We have 5 gesture types: GestureZoom, GestureRotate, GesturePan, Swipe
and LongPress. For consistency all of these will use Gesture as a prefix
to reduce confusion and for easier grepping throughout the codebase.
Change-Id: I8b9e245d011203a19c1172f9833c172f65382caa
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139243
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
We have 5 gesture types: GestureZoom, GestureRotate, Gesture (for
panning), Swipe and LongPress. For consistency all of these will use
Gesture as a prefix to reduce confusion and for easier grepping
throughout the codebase.
Change-Id: I8b9e245d011203a19c1172f9833c172f65382ca9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139241
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change associated for by std::find_if in sqlbison.y
Also change some integer by std::size_t
Change-Id: I0d2100fbd7c22729da6ce0462c6cc093e0767fb4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136263
Tested-by: Jenkins
Reviewed-by: Hossein <hossein@libreoffice.org>
|
|
Which means we can get rid of the majestic hack of ScCaptionPtr
Previously, SdrObject was manually managed, and the ownership
passed around in very complicated fashion.
Notes:
(*) SvxShape has a strong reference to SdrObject, where
previously it had a weak reference. It is now strong
since otherwise the SdrObject will go away very eagerly.
(*) SdrObject still has a weak reference to SvxShape
(*) In the existing places that an SdrObject is being
deleted, we now just clear the reference
(*) instead of SwVirtFlyDrawObj removing itself from the
page that contains inside it's destructor, make the call site
do the removing from the page.
(*) Needed to take the SolarMutex in UndoManagerHelper_Impl::impl_clear
because this can be called from UNO (e.g. sfx2_complex JUnit test)
and the SdrObjects need the SolarMutex when destructing.
(*) handle a tricky situation with SwDrawVirtObj in the SwDrawModel
destructor because the existing code wants mpDrawObj in
SwAnchoredObject to be sometimes owning, sometimes not, which
results in a cycle with the new code.
Change-Id: I4d79df1660e386388e5d51030653755bca02a163
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138837
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...so that its TOOLS_WARN_EXCEPTION can be used in
comphelper/source/misc/logging.cxx in a follow-up commit. (And while at it,
rename from diangose_ex.h to the more appropriate diagnose_ex.hxx. The
comphelper module is sufficiently low-level for this immediate use case, so use
that at least for now; o3tl might be even more suitable but doesn't have a
Library until now. Also, for the immediate use case it would have sufficed to
only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION,
TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of
include/tools/diagnose_ex.h into an additional new
include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move
the complete include file as is.)
Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I34de7408553e4ca702cab9aa611c03dc60b9b6a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138472
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
tweak the python script to code with some clang weirdnes
Change-Id: I88fc9f901748ff44af2b67704cc437b770ef0737
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138196
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I8d15b380cd02237f688b8946530e1f024b698e90
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138195
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ib2b2650da7abc9260897f9b5aad619a0ea6ae941
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138052
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...where
<https://github.com/llvm/llvm-project/commit/127bf44385424891eb04cff8e52d3f157fc2cb7c>
"[Clang][C++20] Support capturing structured bindings in lambdas" on Clang 16
trunk changed the return type from VarDecl to ValueDecl, causing
> compilerplugins/clang/reducevarscope.cxx:541:26: error: no matching member function for call to 'erase'
> maVarDeclMap.erase(varDecl);
> ~~~~~~~~~~~~~^~~~~
> /usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unordered_map.h:740:7: note: candidate function not viable: no known conversion from 'ValueDecl *' to 'const_iterator' (aka '_Node_const_iterator<std::pair<const clang::VarDecl *const, (anonymous namespace)::ReduceVarScope::DepthInfo>, __constant_iterators::value, __hash_cached::value>') for 1st argument
> erase(const_iterator __position)
> ^
> /usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unordered_map.h:745:7: note: candidate function not viable: no known conversion from 'ValueDecl *' to 'iterator' (aka '_Node_iterator<std::pair<const clang::VarDecl *const, (anonymous namespace)::ReduceVarScope::DepthInfo>, __constant_iterators::value, __hash_cached::value>') for 1st argument
> erase(iterator __position)
> ^
> /usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unordered_map.h:762:7: note: candidate function not viable: cannot convert from base class pointer 'ValueDecl *' to derived class pointer 'const key_type' (aka 'const clang::VarDecl *const') for 1st argument
> erase(const key_type& __x)
> ^
> /usr/lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/unordered_map.h:780:7: note: candidate function not viable: requires 2 arguments, but 1 was provided
> erase(const_iterator __first, const_iterator __last)
> ^
etc.
Change-Id: I79b062ca604435bc83a58eeb32df673e6c658bd6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137984
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
<https://github.com/llvm/llvm-project/commit/3c49576417bab1b07764aa0b22664cbc8d3c3f53>
"[ADT] Add has_value, value, value_or to llvm::Optional" is in Clang 15, and
<https://github.com/llvm/llvm-project/commit/b5f8d42efe3e246d582d4a1a328fac915e4ce8dc>
"[ADT] Deprecate Optional::{hasValue,getValue} (NFC)" is in Clang 16 trunk,
causing
> In file included from compilerplugins/clang/sharedvisitor/sharedvisitor.cxx:95:
> compilerplugins/clang/pointerbool.cxx:118:21: error: 'hasValue' is deprecated: Use has_value instead. [-Werror,-Wdeprecated-declarations]
> if (ret.hasValue() && (ret.getValue() == 1 || ret.getValue() == 0))
> ^
> ~/llvm/inst/include/llvm/ADT/Optional.h:324:5: note: 'hasValue' has been explicitly marked deprecated here
> [[deprecated("Use has_value instead.")]] constexpr bool hasValue() const {
> ^
etc.
Change-Id: I377effe29fc6752484d2870b9a0fd66fddc26bfc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137982
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...see
<https://github.com/llvm/llvm-project/commit/309aed306817e5b1a302d8f757231c734cf71370>
"[libc++] Implement P1423R3 (char8_t backward compatibility remediation)"
causing
> error: 'error' diagnostics seen but not expected:
> compilerplugins/clang/test/getstr.cxx Line 43: overload resolution selected deleted operator '<<'
Change-Id: Ic2fb9409cf3033300aca6717a8db7889e9d03c6a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137786
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Already unused in initial import.
Change-Id: I423442a2b036c64727af608fa667f1f8a427391f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137542
Tested-by: Jenkins
Reviewed-by: Justin Luth <jluth@mail.com>
|
|
make the plugin more conservative, so we see less false+
(although we also miss some possibilities in the process)
Change-Id: I91b1806271e7f802d7459834ab7bcc569047da3a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137342
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...<https://github.com/llvm/llvm-project/commit/bdc6974f92304f4ed542241b9b89ba58ba6b20aa>
"[clang] Implement ElaboratedType sugaring for types written bare".
For one, it caused diagnostics to now emit 'OString' instead of 'rtl::OUString'
etc., which required adapting a number of tests.
For another, some tests started to fail because the relevant plugins didn't
expect ElaboratedType sugar in places where it now occurs:
> error: 'error' diagnostics expected but not seen:
> File compilerplugins/clang/test/redundantcast.cxx Line 297: redundant cstyle cast from 'Enum1' to 'Enum1' [loplugin:redundantcast]
> File compilerplugins/clang/test/redundantcast.cxx Line 308: redundant cstyle cast from 'Enum1' to 'Enum1' [loplugin:redundantcast]
> error: 'error' diagnostics expected but not seen:
> File compilerplugins/clang/test/referencecasting.cxx Line 25 (directive at compilerplugins/clang/test/referencecasting.cxx:24): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> File compilerplugins/clang/test/referencecasting.cxx Line 37 (directive at compilerplugins/clang/test/referencecasting.cxx:36): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> File compilerplugins/clang/test/referencecasting.cxx Line 48 (directive at compilerplugins/clang/test/referencecasting.cxx:47): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> File compilerplugins/clang/test/referencecasting.cxx Line 100 (directive at compilerplugins/clang/test/referencecasting.cxx:99): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> File compilerplugins/clang/test/referencecasting.cxx Line 120 (directive at compilerplugins/clang/test/referencecasting.cxx:119): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> File compilerplugins/clang/test/referencecasting.cxx Line 188 (directive at compilerplugins/clang/test/referencecasting.cxx:187): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> File compilerplugins/clang/test/referencecasting.cxx Line 200 (directive at compilerplugins/clang/test/referencecasting.cxx:199): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> File compilerplugins/clang/test/referencecasting.cxx Line 206 (directive at compilerplugins/clang/test/referencecasting.cxx:205): the source reference is already a subtype of the destination reference, just use = [loplugin:referencecasting]
> error: 'error' diagnostics seen but not expected:
> File compilerplugins/clang/test/typedefparam.cxx Line 42: function param 1 at definition site does not match function param at declaration site, 'FooT *' (aka 'test2::Foo *') vs 'struct Foo *' [loplugin:typedefparam]
> File compilerplugins/clang/test/typedefparam.cxx Line 55: function param 1 at definition site does not match function param at declaration site, 'FooT *' (aka 'test3::Foo *') vs 'Foo *' [loplugin:typedefparam]
> error: 'note' diagnostics seen but not expected:
> File compilerplugins/clang/test/typedefparam.cxx Line 40: declaration site here [loplugin:typedefparam]
> File compilerplugins/clang/test/typedefparam.cxx Line 53: declaration site here [loplugin:typedefparam]
Hopefully, there are not too many places in our plugins left that similarly
don't expect ElaboratedType sugar in certain places, but which are not covered
by tests. At least, a full build didn't turn up any further false positives,
but there may of course be false negatives now that would go undetected.
Change-Id: I9bfb1cfb57df5f6e228b512c19c664d48285b675
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137049
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: I2702e716dc669ffbb870d36d060e110288d7a744
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137043
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
...which already carries some rather lengthy excludelists (indicating that the
idea of "every `long` is wrong" is rather fishy), and now gets in the way of
<https://gerrit.libreoffice.org/c/core/+/135714> "i18nlangtag: replace
tools::Long with long"
Change-Id: I5065064cf4ac61fe97a4c99ba4d493a807cdbf06
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136852
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
noting that I have only plugins that I wrote or worked on extensively
Change-Id: Ic4931a6ac2df7902cac3968900330a7ce4eb2d57
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136841
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
<https://github.com/llvm/llvm-project/commit/a9a60f20e6cc80855864b8f559073bc31f34554b>
"[Clang] Rename StringLiteral::isAscii() => isOrdinary() [NFC]"
Change-Id: Iac293c19bd135a94dcc3a3ef9f252ca6175c959a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136744
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
...for C++17 and beyond with
<https://github.com/llvm/llvm-project/commit/681cde7dd8b5613dbafc9ca54e0288477f946be3>
"[libc++] Complete the implementation of N4190". (Unless explicitly opted-in
with _LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION. This is similar to the
MSVC standard library needing _HAS_AUTO_PTR_ETC=1 to enable those zombie
functions for quite some time now. Only libstdc++ still supports them
unconditionally.)
Most uses of those zombie functions across LibreOffice itself and the bundled
external/* are indirectly within Boost include files. And many (but not all) of
those Boost include files only use those zombie functions conditionally, based
on BOOST_NO_CXX98_FUNCTION_BASE. For the (Dinkumware-derived) MSVC standard
library, workdir/UnpackedTarball/boost/boost/config/stdlib/dinkumware.hpp
already defined BOOST_NO_CXX98_FUNCTION_BASE. So add a patch to define that
also in workdir/UnpackedTarball/boost/boost/config/stdlib/libcpp.hpp (for all of
C++11 and beyond, even if those functions were still available as deprecated in
C++11 and C++14, but which shouldn't make a difference with our C++17 baseline
anyway; only make sure that things still work if those Boost include files ever
get used by code built with gb_CXX03FLAGS). (Patching our bundled
external/boost of course doesn't help when building with such a new libc++ and
--with-system-boost against an unpatched Boost, but lets consider that "not my
problem". Also, one could always use a sledgehammer like passing
CPPFLAGS=-D_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION into gbuild in
such a case.)
Then there are two places that include boost/multi_array.hpp, which indirectly
includes workdir/UnpackedTarball/boost/boost/functional.hpp, which still uses
those zombie functions for non-MSVC builds (at least in the bundled
Boost 1.79.0). Lets do a targeted
_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION in those cases.
(Alternatively, we could patch
workdir/UnpackedTarball/boost/boost/functional.hpp. Also, I decided to make
loplugin:reservedid support the new suppression mechanism, rather than extending
its existing ignorelist even further.)
And then there is external/clucene using those zombie functions even outside of
a Boost include file, so extend the existing hack there that was already needed
for MSVC. (And adapt the accompanying comment: For one, we are unconditionally
"in C++17 mode" by now. And for another, the exact places where
external/clucene uses those functions have apparently changed over time.)
Change-Id: Id0eec3bedcfddae86b16d33c02c7b5d3b3f8a16f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136579
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Most of the call sites just ignore the fact that we are returning an
optional value here.
Which means that when an attribute is missing, they get an empty string
or zero.
And we seem to be fine with that.
So make a plugin that warns about calling value() on a temporay OptValue.
And add a utility method so we don't have to pay the cost of passing
a default value to getString()
The need for this is driven by wanting to change to std::optional, which
will throw an exception if code attempts to read an empty std::optional
Change-Id: Idb0a5ad1eac66b5caa93d6195928bad9e0b2ad70
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136283
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I9b29e51e550ea9f13497e1f46cf4cdc11cf8faa6
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135925
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
Change-Id: Ic593974a44d9e327e0385c7ffaaa6d42576ae01a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135911
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I7336003e038781d4ef50380fa49f66b5ff19379f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135589
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I77314048173ebba0dc0e03f710607b74e73f0bde
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135719
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|