// File to suppress cppcheck warnings for files that will not be fixed.
// Does not suppress warnings where an additional occurrence of the warning may be of interest.
// Configured for cppcheck 2.11

// Coding style is to use assignments in constructor when there are many
// members to initialize or the initialization is complex or has comments.
useInitializationList

// These may be interesting but its not clear without examining each instance closely
// Would have to ensure that any_of/all_of has same early/late exits as current code and
// produces same result on empty collections
useStlAlgorithm

// Written with variable for consistency
knownArgument:scintilla/src/SparseVector.h

// cppcheck 2.11 can't find system headers on Win32.
missingIncludeSystem

// cppcheck 2.11 limits checking of complex functions unless --check-level=exhaustive
checkLevelNormal:scintilla/src/Editor.cxx

// The cast converts from 'unsigned char ' to 'char' so isn't unused.
// Redundant code: Found unused cast of expression 'leadByte'
constStatement:scintilla/src/Document.cxx

// ILexer5* is not pointing at logically const
constParameterPointer:scintilla/src/Document.cxx

// Some non-explicit constructors are used for conversions or are private to lexers
noExplicitConstructor

// MarginView access to all bits is safe and is better defined in later versions of C++
shiftTooManyBitsSigned:scintilla/src/MarginView.cxx
integerOverflow:scintilla/src/MarginView.cxx

// DLL entry points are unused inside Scintilla
unusedFunction:scintilla/win32/ScintillaDLL.cxx

// ScintillaDocument is providing an API and there are no consumers of the API inside Scintilla
unusedFunction:scintilla/qt/ScintillaEdit/ScintillaDocument.cpp

// Doesn't understand changing dropWentOutside in Editor
knownConditionTrueFalse:scintilla/win32/ScintillaWin.cxx

// GetData is implementing interface so shouldn't add const
constParameterPointer:scintilla/win32/ScintillaWin.cxx

// Doesn't handle intptr_t (long long) being signed
knownConditionTrueFalse:scintilla/src/Editor.cxx
knownConditionTrueFalse:scintilla/src/EditView.cxx

// cppcheck seems to believe that unique_ptr<T *[]>::get returns void* instead of T**
arithOperationsOnVoidPointer:scintilla/src/PerLine.cxx
arithOperationsOnVoidPointer:scintilla/src/PositionCache.cxx

// G_DEFINE_TYPE is too complex to pass to cppcheck
unknownMacro:scintilla/gtk/PlatGTK.cxx

// maskSmooth set depending on preprocessor allowing Wayland definition
badBitmaskCheck:scintilla/gtk/ScintillaGTK.cxx

// Changing events to const pointers changes signature and would require casts when hooking up
constParameterPointer:scintilla/gtk/ScintillaGTK.cxx
constParameterCallback:scintilla/gtk/ScintillaGTK.cxx

// Difficult to test accessibility so don't change
constParameterPointer:scintilla/gtk/ScintillaGTKAccessible.cxx
constVariableReference:scintilla/gtk/ScintillaGTKAccessible.cxx
constVariablePointer:scintilla/gtk/ScintillaGTKAccessible.cxx

// moc_ files show #error as they are not built with standard context
preprocessorErrorDirective:scintilla/qt/*.cpp

// Doesn't understand Qt slots macro
unknownMacro:scintilla/qt/ScintillaEditBase/*.h

// The performance cost of by-value passing is often small and using a reference decreases
// code legibility.
passedByValue

// Suppress everything in catch.hpp as won't be changing
*:scintilla/test/unit/catch.hpp

// Checks for moves move to variables that are not read but the moved from is checked
unreadVariable:scintilla/test/unit/*.cxx
accessMoved:scintilla/test/unit/*.cxx

// cppcheck fails REQUIRE from Catch
comparisonOfFuncReturningBoolError:scintilla/test/unit/*.cxx
