1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 #if defined _WIN32 //TODO, see corresponding TODO in compilerplugins/clang/writeonlyvars.cxx
11 // expected-no-diagnostics
14 #include <com/sun/star/uno/Any.hxx>
15 #include <com/sun/star/uno/Sequence.hxx>
16 #include <com/sun/star/uno/XInterface.hpp>
20 #include <rtl/ustring.hxx>
24 int const aFormalArgs
[] = { 1, 2 };
25 // expected-error@+1 {{var can be const [loplugin:constvars]}}
26 static sal_uInt16 nMediaArgsCount
= SAL_N_ELEMENTS(aFormalArgs
);
30 return nMediaArgsCount
;
34 // no warning expected
37 static char const* ar
[] = { "xxxx" };
38 static const char* lcl_DATA_OTHERS
= "localedata_others";
42 (void)lcl_DATA_OTHERS
;
46 // no warning expected
49 static sal_uInt16 nMediaArgsCount
= 1; // loplugin:constvars:ignore
50 sal_uInt16
foo() { return nMediaArgsCount
; }
53 // no warning expected, we don't handle these destructuring assignments properly yet
58 std::map
<OUString
, OUString
> aMap
;
59 for (auto & [ rName
, rEntry
] : aMap
)
66 // no warning expected
72 void release(Struct1
*);
73 void foo(std::list
<Struct1
*> aList
)
75 for (Struct1
* pItem
: aList
)
84 void foo(css::uno::Sequence
<css::uno::Reference
<css::uno::XInterface
>>& aSeq
)
86 // expected-error@+1 {{var can be const [loplugin:constvars]}}
87 for (css::uno::Reference
<css::uno::XInterface
>& x
: aSeq
)
94 // no warning expected
97 void foo(std::vector
<std::vector
<int>> aVecVec
)
99 for (auto& rVec
: aVecVec
)
100 for (auto& rElement
: rVec
)
107 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */