// 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.15

// Just a report of how many checkers are run
checkersReport

// This just warns that cppcheck isn't exhaustive and it still appears in exhaustive mode
normalCheckLevelMaxBranches

// 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

// RangesCopy is deliberately returning a copy.
// The copy is always mutated so returning a refererence just enables lifetime problems.
returnByReference:scintilla/src/Selection.h

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

// 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

// G_DEFINE_TYPE is too complex to pass to cppcheck
unknownMacro:scintilla/gtk/PlatGTK.cxx
// G_END_DECLS
unknownMacro:scintilla/gtk/scintilla-marshal.h

// 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
