summaryrefslogtreecommitdiff
path: root/compilerplugins/clang/typedefparam.cxx
AgeCommit message (Collapse)AuthorFilesLines
2022-07-14Adapt to Clang 15 trunk increase in ElabortatedType sugarStephan Bergmann1-1/+1
...<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>
2022-02-17Bump compiler plugins Clang baseline to 12.0.1Stephan Bergmann1-5/+7
...as discussed in the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2020-November/086234.html> "Bump --enable-compiler-plugins Clang baseline?" (and now picked up again at <https://lists.freedesktop.org/archives/libreoffice/2022-February/088459.html> "Re: Bump --enable-compiler-plugins Clang baseline?"), and clean up compilerplugins/clang/ accordingly Change-Id: I5e81c6fdcc363aeefd6227606225b526fdf7ac16 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129989 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-08better name for a function in compilerpluginsLuboš Luňák1-1/+1
The function is not just about a spelling location. Change-Id: I96e9e9ef7e27a9763397b4b86473c1c30d0e3eeb Reviewed-on: https://gerrit.libreoffice.org/80381 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-07-16convert some plugins to LO_CLANG_SHARED_PLUGINSNoel Grandin1-3/+8
Change-Id: I7451a95377101004c7c53c918f3234415e06f555 Reviewed-on: https://gerrit.libreoffice.org/75670 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-07-15Revert "convert some plugins to use the sharedplugin infrastructure"Noel Grandin1-8/+3
This reverts commit fc1b213d157afa57704cec5a0fb65ae8c11d7822. I didn't convert these correctly, the Traverse calls need adjusting.
2019-07-15convert some plugins to use the sharedplugin infrastructureNoel Grandin1-3/+8
Change-Id: I690d9df436abdadc51a6d3f7df686a2e37f79f73 Reviewed-on: https://gerrit.libreoffice.org/75624 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-06-07Fix typosAndrea Gelmini1-3/+3
Change-Id: If9d52bd769d96865a3fbfdda1f339bbd0f8c3ca3 Reviewed-on: https://gerrit.libreoffice.org/73633 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-06-06loplugin:typedefparam: Work around different size_t typedefs on macOSStephan Bergmann1-0/+24
...which for me caused > [CXX] registry/tools/options.cxx > /Users/stephan/Software/lo/core/registry/tools/options.cxx:39:89: error: function param 3 at definition site does not match function param at declaration site, 'size_t' (aka 'unsigned long') vs 'size_t' (aka 'unsigned long') [loplugin:typedefparam] > bool Options::checkArgument(std::vector< std::string> & rArgs, char const * arg, size_t len) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ > /Users/stephan/Software/lo/core/registry/tools/options.hxx:41:93: note: declaration site here [loplugin:typedefparam] > static bool checkArgument (std::vector< std::string > & rArgs, char const * arg, size_t len); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ because one is TypedefType 0x115a4d700 'size_t' sugar |-Typedef 0x115a4d460 'size_t' `-BuiltinType 0x7fde8e0393c0 'unsigned long' while the other is TypedefType 0x7fde8e94a3a0 'size_t' sugar |-Typedef 0x7fde8e94a138 'size_t' `-TypedefType 0x7fde8e94a100 '__darwin_size_t' sugar |-Typedef 0x7fde8e88cc28 '__darwin_size_t' `-BuiltinType 0x7fde8e0393c0 'unsigned long' and > [CXX] store/source/storcach.cxx > /Users/stephan/Software/lo/core/store/source/storcach.cxx:218:43: error: function param 1 at definition site does not match function param at declaration site, 'std::size_t' (aka 'unsigned long') vs 'std::size_t' (aka 'unsigned long') [loplugin:typedefparam] > void PageCache::rescale_Impl (std::size_t new_size) > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ > /Users/stephan/Software/lo/core/store/source/storcach.hxx:67:36: note: declaration site here [loplugin:typedefparam] > void rescale_Impl (std::size_t new_size); > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ because one is ElaboratedType 0x116f5cba0 'std::size_t' sugar `-TypedefType 0x7fd58673e090 'size_t' sugar |-Typedef 0x7fd58673dde8 'size_t' `-BuiltinType 0x7fd58603cfc0 'unsigned long' while the other is ElaboratedType 0x7fd586742200 'std::size_t' sugar `-TypedefType 0x7fd58621cdc0 'size_t' sugar |-Typedef 0x7fd5861ce4a0 'size_t' `-TypedefType 0x7fd5861cdc70 '__darwin_size_t' sugar |-Typedef 0x7fd586889ec8 '__darwin_size_t' `-BuiltinType 0x7fd58603cfc0 'unsigned long' Change-Id: I3622716376198cc046b0489db59c5cbf613ea1f4 Reviewed-on: https://gerrit.libreoffice.org/73585 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-27loplugin:typedefparam (clang-cl)Stephan Bergmann1-0/+14
Change-Id: I07604028845c49cc084927e21db7f21c5d053bab Reviewed-on: https://gerrit.libreoffice.org/69796 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-27Adpat loplugin:typedefparam to AttributedTypeStephan Bergmann1-0/+7
...as seen by clang-cl when there are function parameters of function pointer type involving SAL_CALL Change-Id: Ie35f00d4e15ca777b14dd5968cdbd97e43bca1a1 Reviewed-on: https://gerrit.libreoffice.org/69789 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-27Improve loplugin:typedefparam error reportingStephan Bergmann1-7/+6
Change-Id: I2ed4c20ab909b79fca794fb04259018fbfcb1db5 Reviewed-on: https://gerrit.libreoffice.org/69787 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-03-07Fix typoAndrea Gelmini1-1/+1
Change-Id: Icafc637004e219b523c862cb5fbad55a2bd4eaaf Reviewed-on: https://gerrit.libreoffice.org/68835 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-03-06Remove debugging dump()sStephan Bergmann1-8/+0
Change-Id: I1f5479adefbf7c77a5584d698c6a6c35ff4716d0 Reviewed-on: https://gerrit.libreoffice.org/68778 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-05re-land "new loplugin typedefparam""Noel Grandin1-0/+291
This reverts commit c9bb48386bad7d2a40e6958883328145ae439cad, and adds a bunch more fixes. Change-Id: Ib584d302a73125528eba85fa1e722cb6fc41538a Reviewed-on: https://gerrit.libreoffice.org/68680 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-04Revert "new loplugin typedefparam"Noel Grandin1-291/+0
This reverts commit 9865440d217d975206a3f91612f0666312bc8fd8. This is not ready to land yet, seems like the latest update of the logic reveals a bunch more places I need to fix before it can land.
2019-03-04new loplugin typedefparamNoel Grandin1-0/+291
verify that parameters use the exact same typedef-names (if any) in definition and declaration Change-Id: I55d2817f599b0253904dce2d35a1a93967e15a77 Reviewed-on: https://gerrit.libreoffice.org/68439 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>