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

// These may be interesting but its not clear without examining each instance closely
useStlAlgorithm

// 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 are placeholders showing where to place code if ever wanted
uselessOverride

// FilePath has a non-explicit constructor used for conversions
noExplicitConstructor:scite/src/FilePath.h

// Cppcheck wrongly assumes string_view::remove_prefix can not empty the view
knownConditionTrueFalse:scite/src/FilePath.cxx

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

// Windows and GTK define classes with the same name
ctuOneDefinitionRuleViolation:scite/win32/Strips.h
ctuOneDefinitionRuleViolation:scite/gtk/Widget.h
ctuOneDefinitionRuleViolation:scite/gtk/Strips.h

// This is an unusual case where a pointer inside a std::string is needed later in the code.
variableScope:scite/src/SciTEBase.cxx

// Accessing 0th element of string is OK. Only triggers on non-threaded runs.
//ctuArrayIndex:scite/src/SciTEBuffers.cxx

// Cppcheck seems to be assuming only first condition (start < length) can cause loop termination
knownConditionTrueFalse:scite/src/SciTEIO.cxx

// This code is using NULs inside strings to terminate early so fixing warning causes failure.
stlcstrConstructor:scite/gtk/SciTEGTK.cxx

// gtk_print_operation_set_default_page_setup takes a non const pointer so ancestor variables should be non-const
constVariablePointer:scite/gtk/SciTEGTK.cxx

// Changing events to const pointers changes signature and would require casts when hooking up
constParameterCallback:scite/gtk/SciTEGTK.cxx
constParameterPointer:scite/gtk/SciTEGTK.cxx
constParameterCallback:scite/gtk/Widget.cxx
constParameterCallback:scite/gtk/Strips.cxx
// Since LuaPanicFunction is callback of form prescribed by Lua match signature exactly rather than add const
constParameterCallback:scite/src/LuaExtension.cxx

// A judgement call: value semantics avoids potential for lifetime bugs at cost of performance
returnByReference:scite/src/StringHelpers.h

// Don't understand what is happening here in SwitchDocumentAt
constParameterPointer:scite/src/SciTEBuffers.cxx

// Not using const pointer as called method TextWritten may change to mutate argument
constParameterPointer:scite/src/SciTEIO.cxx

// Menu::Show is cross-platform and may have to mutate its second argument
constParameterReference:scite/win32/GUIWin.cxx

// Prefer uniform use of | instead of special casing first which is just assignment
badBitmaskCheck:scite/win32/SciTEWin.cxx

// Suppress everything in lua as that comes from the Lua distribution
*:scite/lua/*

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

// cppcheck doesn't understand ""sv literals
unknownMacro:scite/test/testUtf8_16.cxx
