summaryrefslogtreecommitdiff
path: root/idlc/source/parser.y
AgeCommit message (Collapse)Author
2022-06-10[API CHANGE] Remove deprecated idlc and regmerge from the SDKStephan Bergmann
* Client code must replace uses of idlc and regmerge with uses of unoidl-write, see the changes to odk/examples/ and ure/source/uretext/ in 40f2aee6584eafcf4cd1d95fcf1f775e5435440d "Provide unoidl-write also for the SDK" for examples. * The new types.rdb format is not compatible with LibreOffice < 4.1. Clients generating extensions containing such files are advised to use appropriate LibreOffice-minimal-version elements. * For compatibility with old extensions, reading the legacy types.rdb format is still supported. * The SDK no longer ships an idl/ sub-directory containing the udkap and offapi .idl files (as, unlike idlc, unoidl-write does not need them). odk/config/cfgWin.js had to be adapted to look (somewhat arbitrarily) for an examples/ sub-directory instead of idl/ when checking for "an sdk folder". gb_UnoApi_package_idlfiles became unused and has been removed. * The idlc and regmerge executables have been removed. Module idlc has been removed except for idlc/test/parser/, which is also used by CustomTarget_unoidl/unoidl-write_test, and which may eventually be moved into module unoidl. Module external/ucpp and the corresponding configure options have also been removed. Change-Id: I42a0231699b863b5ebe2bee63bc32c8f79278cc1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122363 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-14Improve loplugin:stringviewStephan Bergmann
Issue the "instead of O[U]String, pass [u16]string_view" diagnostic also for operator call arguments. (The "rather than copy, pass subView()" diagnostic is already part of handleSubExprThatCouldBeView, so no need to repeat it explicitly for operator call arguments.) (And many call sites don't even require an explicit [u16]string_view, esp. with the recent ad48b2b02f83eed41fb1eb8d16de7e804156fcf1 "Optimized OString operator += overloads". Just some test code in sal/qa/ that explicitly tests the O[U]String functionality had to be excluded.) Change-Id: I8d55ba5a7fa16a563f5ffe43d245125c88c793bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115589 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-09-21Fix typo in codeAndrea Gelmini
Change-Id: Ib026080d70fb7cf97f7f90079dbb4e1f6d77a05e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101197 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-15loplugin:buriedassign in f,h,i*Noel Grandin
Change-Id: Iac753e528e13cb2565832a484e87f88061bbc91e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92239 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-19sal_Char->char in idlc..linguisticNoel Grandin
Change-Id: Ib30fe34123ad7e5d892e8db9c742e08c4ca8fcd2 Reviewed-on: https://gerrit.libreoffice.org/85477 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-17Remaining loplugin:bufferaddStephan Bergmann
...that had been missing because the plugin didn't implement postRun, so it didn't report anything when run as part of the shared plugin. (But did report the expected warnings when run as a standalone plugin during CompilerTest_compilerplugins_clang.) Most fixes are straightforward. A noteworthy one is PreparedStatement::setBytes in connectivity/source/drivers/postgresql/pq_preparedstatement.cxx: The old preallocation of a 20 character OStringBuffer might have prevented buf.append( reinterpret_cast<char *>(escapedString), len -1 ); from potentially throwing std::bad_alloc, which would have caused escapedString to be leaked. Even though that 20-character preallocation was likely just random junk and not meant to address the potential leak, lets address it now. Change-Id: Ib506332d061684a22a74e5e39e591539fd2c4900 Reviewed-on: https://gerrit.libreoffice.org/80925 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-06-25Fix typoAndrea Gelmini
Change-Id: Ib6a89a7362a63eff8ecbf59653126cf324b5bbf9 Reviewed-on: https://gerrit.libreoffice.org/74672 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-02-09loplugin:indentation in helpcompiler..ioNoel Grandin
Change-Id: Ia3f05662cc9542feeac3096d29e9dec6d1858620 Reviewed-on: https://gerrit.libreoffice.org/67558 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-29loplugin:stringconstant look for unnecessary OString constructor useNoel Grandin
and tweak the methods in check.hxx to make them more flexible when called with dc.Class(xxx ? "foo" : "bar") Change-Id: I881fe628f22121ced4d8849715d6b1c92b092da1 Reviewed-on: https://gerrit.libreoffice.org/64207 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-24remove more rtl::OUString and OString prefixesNoel Grandin
which seem to have snuck back in since the great rounds of removals. Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1 Reviewed-on: https://gerrit.libreoffice.org/62229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-17New loplugin:externalStephan Bergmann
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-08-11set copy_paste_error to false rather than intentionalCaolán McNamara
Change-Id: I152482ef594c286d3c2a94cab62feff49bbf79fa Reviewed-on: https://gerrit.libreoffice.org/58884 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-27Related: rhbz#1602589 add comments to coverity annotationsCaolán McNamara
Change-Id: I88c941832a0d682ea4b6028c28edd48cf5df38f7 Reviewed-on: https://gerrit.libreoffice.org/58093 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-18Use for-range loops in hwpfilter, i18n*, idl* and ioJulien Nabet
Change-Id: I980464162b73ed9ee0a09acbca1b9050af8d1027 Reviewed-on: https://gerrit.libreoffice.org/51492 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-02-01idlc: MSVC: pragma warning: make more specific, remove obsoleteMike Kaganski
Change-Id: I0fbba0c1b12f9ade703ceee477dae4056fe9d31e Reviewed-on: https://gerrit.libreoffice.org/48994 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-01-11Manual loplugin:cstylecast fixes in idlc/source/parser.yStephan Bergmann
...with a to-be-committed improved loplugin:cstylecast Change-Id: Iafd2f3d401e7a9e46acfdba89a5b35498afbfd3c Reviewed-on: https://gerrit.libreoffice.org/47753 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-10-19loplugin:includeform: manual changes to idlc/source/parser.yStephan Bergmann
Change-Id: I1f3b08b4af08956aefad12c679cccf7bd5112f8c Reviewed-on: https://gerrit.libreoffice.org/43557 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-10-01Prefer prefix operatorJulien Nabet
Change-Id: I82f3f66bfc675dbc4a5d5b57d8715c3de01d9620 Reviewed-on: https://gerrit.libreoffice.org/42994 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-07-18loplugin:constparams codemaker,idl,idlcNoel Grandin
Change-Id: Ic72b7525cfbfbd3c5afb12fe9ea814176e6c8c9d Reviewed-on: https://gerrit.libreoffice.org/40126 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-05loplugin:unnecessaryparenStephan Bergmann
Change-Id: I37833e0e19162790f4ae37d74eb63cb84434cf2e
2017-02-21loplugin:subtlezeroinit: idlcStephan Bergmann
Change-Id: Ifec509c4d96a932cfe591b5ffa77027b7b372d52
2017-02-16convert ExprComb to scoped enumNoel Grandin
and drop unused EC_bit_neg enumerator Change-Id: I8a93310cd849cee56fcf628424d96005f89ba799
2017-02-16convert ErrorCode to scoped enumNoel Grandin
and drop unused enumerators Change-Id: I7330ebf8feead7b67e67f73ba942979e4756269d
2017-02-16convert WarningCode to scoped enumNoel Grandin
and drop unused enumerators Change-Id: I212cf132c2406e85b44b1af552b0989cecbec162
2017-01-17no special support for MACOSX PPC in master for a while nowCaolán McNamara
Change-Id: I8d5dc878f41939e55ef8995d1da74548faa4711f
2016-11-29Rewrite some (trivial) assignments inside if/while conditions: idlcStephan Bergmann
Change-Id: I6be338f54dd8e6912e48258c0a2e075dc69b2893
2016-10-13tdf#96099 Reduce no of typedefs used for trivial containersAsela Dasanayaka
Removed various pinter typedefs in idlc module Change-Id: Id850558a4550085d47a5e1122b1ce871f15956f2 Reviewed-on: https://gerrit.libreoffice.org/29754 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-05-27Get rid of unnecessary directory levels $D/inc/$DTor Lillqvist
Change-Id: Ibf313b8948a493043006ebf3a8281487c1f67b48 Reviewed-on: https://gerrit.libreoffice.org/25532 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2016-04-26loplugin:nullptrStephan Bergmann
Change-Id: Id58f3320ff152286fa6b3268cdc9c2af2d7e068b
2015-11-30FD_complex is unusedStephan Bergmann
...since 8e71d9400bd350d63723c5489ddaadb3d3610baf "Remove UNOIDL 'array' and 'union' vaporware from idlc" Change-Id: Id4cdef900667cdac466a41e47c189e2d25a62065
2015-09-26The only EvalKind actually used is EK_constStephan Bergmann
Change-Id: Ide451d1e287eeb8666b9ddcce312b9a753761c50
2015-05-18idlc: fix warningsStephan Bergmann
Change-Id: I2ef51fae0bc4425c5d2b6707d1df381888b427e7
2015-03-27loplugin:staticfunctionNoel Grandin
Change-Id: Id796b799f8e2fcc3eae98d43800c5e31fec27fef
2015-03-11V668 no sense in testing the result of new against nullCaolán McNamara
Change-Id: I4a33bd92fc8448638a4bfe1eab7e5041a4c5cc39
2014-11-17sal: clean up public headers with include-what-you-useMichael Stahl
Sadly cannot forward declare "struct {...} TimeValue;". rtl/(u)?string.hxx still include sal/log.hxx but removing osl/diagnose.h was painful enough for now... Change-Id: Id41e17f3870c4f24c53ce7b11f2c40a3d14d1f05
2014-11-06Revert "use the new OUString::fromUtf8 method"Stephan Bergmann
This reverts commit 05050cdb23de586870bf479a9df5ced06828d498, not all places that use e.g. OStringToOUString to convert potential UTF-8 are guaranteed to fulfil the prerequisites necessary to use fromUtf8 (and some places like e.g. in codemaker are happy with the best-effort effect of OStringToOUString's OSTRING_TO_OUSTRING_CVTFLAGS).
2014-11-06use the new OUString::fromUtf8 methodNoel Grandin
Change-Id: I771004b7ccab3344a67e827e45bc34c22ffa5f77
2014-11-05markup with event type not checker typeCaolán McNamara
Change-Id: I14c0c5d90b67000cb4fe9e6be647854abfe784da
2014-10-30coverity#982268 silence Copy-paste errorCaolán McNamara
Change-Id: I10e5dd8ea4097892d2571304d982ab20ee230988
2014-10-03coverity#982268 Copy-paste errorCaolán McNamara
Change-Id: I68e8e6a564356bae620647b385e16279ff212d32
2014-01-30Remove UNOIDL "array" and "union" vaporware from idlcStephan Bergmann
Change-Id: Iccd5a78b54620796cfde672388b70ad97d17b7a5
2013-12-13fdo#72598 Remove SunStudio cruft from code baseJelle van der Waa
Change-Id: Ia6799c852eb95d496fbc8dcfdabde62dffc263a6 Reviewed-on: https://gerrit.libreoffice.org/7066 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2013-10-28windows: warning 4706 is disabled globally in com_MSC_defs.mkThomas Arnhold
So there is no need to do this locally, too. Change-Id: Ibc623235cae07a86dfd0dbc1d7672ca4273facec
2013-08-28Do not leave $$ uninitialized in case of errorStephan Bergmann
Change-Id: Id28fb53a98ff164cd14f8f9dcb4ebee7a71bfd1e
2013-08-28parser.y: untabify, remove trailing whitespace, mode linesStephan Bergmann
Change-Id: Ief0109289c6dc70b51193fa5f4432efe2b48c3fb
2013-08-22downcast of address which does not point to an object of type 'AstInterface'Stephan Bergmann
(note: object is of type 'AstTypeDef'); Clang -fsanitize=undefined Change-Id: I1b11a7678f18557c8040af2118c1c0101913f086
2013-05-29fdo#60724 change spelling error REMOVEABLE -> REMOVABLE IIThomas Arnhold
Change-Id: I0057b9174af6a83f3fde0e27c3a91a4aeca95873 Signed-off-by: Stephan Bergmann <sbergman@redhat.com>
2013-04-07fix logical-op-parenthesis warningPeter Foley
Change-Id: Ib97f667c9acb644c3becb81f851ad8c7e4ff31ea
2013-04-03Forbid old-style services/singletons inheriting new-style servicesStephan Bergmann
...does not make sense. Adapted some old-style services accordingly, where the inherited service had been changed to new-style after the fact. Change-Id: I5f3e4ddf99160778a319062a6c84f83529ff177b
2013-03-25remove external include guardsThomas Arnhold
Change-Id: If5758e02baa8e019923355b6c97043b306223fdd