collection of heuristics to look for local variables that are never read from i.e. do not contribute to the surrounding logic This is an expensive plugin, since it walks up the parent tree, so it is off by default. Change-Id: Ib8ba292241bd16adf299e8bba4502cb473513a06 Reviewed-on: https://gerrit.libreoffice.org/52450 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
59 lines
1.6 KiB
C++
59 lines
1.6 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*/
|
|
|
|
#include <sal/config.h>
|
|
#include <sal/types.h>
|
|
#include <map>
|
|
|
|
struct SAL_WARN_UNUSED Point
|
|
{
|
|
};
|
|
struct SAL_WARN_UNUSED Rectangle
|
|
{
|
|
Rectangle();
|
|
Rectangle(int width, int height);
|
|
Rectangle& Union(const Rectangle&) { return *this; }
|
|
Rectangle& Intersection(const Rectangle&);
|
|
Rectangle& operator+=(const Point& rPt);
|
|
};
|
|
|
|
void func1()
|
|
{
|
|
Rectangle aTmp1; // expected-error {{unused variable 'aTmp1' [loplugin:unusedvariablemore]}}
|
|
aTmp1.Union(Rectangle(10, 10));
|
|
}
|
|
|
|
void func2()
|
|
{
|
|
Rectangle aViewArea(
|
|
10, 10); // expected-error@-1 {{unused variable 'aViewArea' [loplugin:unusedvariablemore]}}
|
|
aViewArea += Point();
|
|
aViewArea.Intersection(Rectangle(0, 0));
|
|
}
|
|
|
|
//---------------------------------------------------------------------
|
|
// Negative tests
|
|
//---------------------------------------------------------------------
|
|
|
|
Rectangle func3(const Rectangle& rRect)
|
|
{
|
|
Rectangle aTmpRect(Rectangle(10, 10));
|
|
return aTmpRect.Union(rRect);
|
|
}
|
|
|
|
void func4()
|
|
{
|
|
std::map<int, int> aMimeTypeMap;
|
|
aMimeTypeMap[1] = 0;
|
|
int aExportMimeType(aMimeTypeMap[0]);
|
|
(void)aExportMimeType;
|
|
}
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
|