Commit Graph
18 Commits
Author SHA1 Message Date
Gabor Kelemen 7ac769c1a9 tdf#42949 Fix IWYU warnings in test/
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: Id1ee9b6d44315443d023bdfbf9ae8e5aa2158ab2
Reviewed-on: https://gerrit.libreoffice.org/85171
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-19 10:20:04 +01:00
Stephan Bergmann f853ec317f Extend loplugin:external to warn about classes
...following up on 314f15bff0 "Extend
loplugin:external to warn about enums".

Cases where free functions were moved into an unnamed namespace along with a
class, to not break ADL, are in:

  filter/source/svg/svgexport.cxx
  sc/source/filter/excel/xelink.cxx
  sc/source/filter/excel/xilink.cxx
  svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx

All other free functions mentioning moved classes appear to be harmless and not
give rise to (silent, even) ADL breakage.  (One remaining TODO in
compilerplugins/clang/external.cxx is that derived classes are not covered by
computeAffectedTypes, even though they could also be affected by ADL-breakage---
but don't seem to be in any acutal case across the code base.)

For friend declarations using elaborate type specifiers, like

  class C1 {};
  class C2 { friend class C1; };

* If C2 (but not C1) is moved into an unnamed namespace, the friend declaration
must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see
C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither
qualified nor a template-id and the declaration is a function or an
elaborated-type-specifier, the lookup to determine whether the entity has been
previously declared shall not consider any scopes outside the innermost
enclosing namespace.")

* If C1 (but not C2) is moved into an unnamed namespace, the friend declaration
must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882>
"elaborated-type-specifier friend not looked up in unnamed namespace".

Apart from that, to keep changes simple and mostly mechanical (which should help
avoid regressions), out-of-line definitions of class members have been left in
the enclosing (named) namespace.  But explicit specializations of class
templates had to be moved into the unnamed namespace to appease
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598> "explicit specialization of
template from unnamed namespace using unqualified-id in enclosing namespace".

Also, accompanying declarations (of e.g. typedefs or static variables) that
could arguably be moved into the unnamed namespace too have been left alone.

And in some cases, mention of affected types in blacklists in other loplugins
needed to be adapted.

And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which
is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is
not moved into an unnamed namespace (because it is declared in
sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is.  GCC warns about
such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler
doesn’t give this warning for types defined in the main .C file, as those are
unlikely to have multiple definitions."
(<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html>)  The
warned-about classes also don't have multiple definitions in the given test, so
disable the warning when including the .cxx.

Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4
Reviewed-on: https://gerrit.libreoffice.org/83239
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-22 12:57:32 +01:00
Jens Carl f07e91ac73 tdf#45904 Move XReplaceDescriptor Java tests to C++
Move XReplaceDescriptor Java tests to C++ for ScCellSearchObj.

Change-Id: Ica5042ce8b5eac3663a0fb5f66ae0a2830c89d93
Reviewed-on: https://gerrit.libreoffice.org/71645
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-02 02:53:26 +02:00
Jens Carl 6f763a3fcd tdf#45904 Move SearchDescriptor Java tests to C++
Move SearchDescriptor Java tests to C++ for ScCellSearchObj.

Change-Id: I3c9ffbfc80c7fdc39d0e67fe8aae12605a8d04f5
Reviewed-on: https://gerrit.libreoffice.org/71644
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-02 02:52:28 +02:00
Jens Carl 976bb31199 tdf#45904 Move XSearchDescriptor Java tests to C++
Move XSearchDescriptor Java tests to C++ for ScCellSearchObj.

Change-Id: I1ae50bb586fd742b7cc19f71bcae018ca42139e6
Reviewed-on: https://gerrit.libreoffice.org/71643
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
2019-05-02 01:19:34 +02:00
Mike Kaganski c94ae40267 Fix sc_ddelinkobj tests
Regression from commit 63ff8602c1.
See thread started at
  https://lists.freedesktop.org/archives/libreoffice/2018-December/081542.html

The Application::SetName is mandatory for DDE to work; otherwise
InitializeDde() in SfxApplication::SfxApplication() fails.

DDE spreadsheet formula expects full name of the target spreadsheet,
including path.

Fixed sheet name (it's "Sheet1", not "Sheet").

Removed redundant tests (former "testRemoveRefreshListener" tests all).

Change-Id: I6299a9ec03c3657a21ad42d0ff87db25cf2be905
Reviewed-on: https://gerrit.libreoffice.org/65079
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-12-13 17:17:22 +01:00
Jens Carl 63ff8602c1 tdf#45904 Move XRefreshable Java tests to C++
Move XRefreshable Java tests to C++ for ScDDELinkObj.

Change-Id: I121d9fe6a66c549e402b0cf6fd54fea1201e443f
Reviewed-on: https://gerrit.libreoffice.org/64511
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
2018-12-05 04:45:59 +01:00
Rahul Gurung b56ad4cbe0 tdf#45904 Move _XIndent Java Tests to C++
Change-Id: I65b594db595f0e08a50a9ea18baf44c496cf18e3
Reviewed-on: https://gerrit.libreoffice.org/60218
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-09-22 15:37:52 +02:00
Rahul Gurung efe119aaa5 tdf#45904 Move _XMergeable Java Tests to C++
Change-Id: I37dc759a64301810a7d32a3f160b9bcbf546dd01
Reviewed-on: https://gerrit.libreoffice.org/60211
Tested-by: Jenkins
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
Tested-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2018-09-10 02:03:10 +02:00
Stephan Bergmann 34307a8a7d loplugin:includeform: test
Change-Id: Ibcbb5b002e8326c484547a825cb295d0f5158a3b
2017-10-23 22:45:50 +02:00
Stephan Bergmann ff1b46c6fe loplugin:cppunitassertequals: test
Change-Id: I3357b7502fcf9a45095919157ca1530e10c14dd0
2017-04-28 14:22:36 +02:00
Norbert Thiebaud 37e94841db percheck: produce similar stats than off-tree callgrind
Change-Id: I7035ea6f2d9ffe92282533064d69b75e2c1989e1
2015-09-02 14:31:21 -05:00
Laurent Godard e65790ddcf perfcheck instrument existing test : replaceAll
Change-Id: I7766aa6d69810124b27763912c3e7a8399637280
Reviewed-on: https://gerrit.libreoffice.org/12243
Reviewed-by: Matúš Kukan <matus.kukan@collabora.com>
Tested-by: Matúš Kukan <matus.kukan@collabora.com>
2014-11-12 08:59:03 +00:00
Thomas Arnhold add638b725 test: clean up namespacing
Change-Id: I7df07176bdbd15fdfdf8f9a7cdb26d4bee12997d
2013-04-26 14:41:36 +02:00
Michael Meeks 62badf3828 Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Caolán McNamara f87e486d29 WaE: C4265: class has virtual functions, but destructor is not virtual 2012-03-01 10:43:57 +00:00
Markus Mohrhard 8cab24997a add test case for XReplaceable 2012-01-30 00:23:07 +01:00
Markus Mohrhard 80502d8462 add interface test for util::XSearchable 2012-01-25 21:13:24 +01:00