207 lines
6.9 KiB
Text
207 lines
6.9 KiB
Text
# YAMS cppcheck suppressions
|
|
# This file contains suppressions for false positives and intentional code patterns
|
|
|
|
# =============================================================================
|
|
# Third-party and generated code suppressions
|
|
# =============================================================================
|
|
|
|
# Suppress all issues in third-party dependencies fetched via CMake
|
|
*:*/_deps/*
|
|
*:*/build/*
|
|
*:*/cmake-build-*/*
|
|
*:*/.cache/*
|
|
*:*/third_party/*
|
|
*:*/external/*
|
|
*:*/vendor/*
|
|
*:*/.conan2/*
|
|
|
|
# Generated protobuf files
|
|
*:*.pb.h
|
|
*:*.pb.cc
|
|
|
|
# SQLite amalgamation file - external code
|
|
*:*/sqlite3.c
|
|
*:*/sqlite3.h
|
|
|
|
# PDFium headers - external binary distribution
|
|
*:*/pdfium/*
|
|
|
|
# LZMA SDK - external C code
|
|
*:*/lzma-src/*
|
|
|
|
# ONNX Runtime headers
|
|
*:*/onnxruntime/*
|
|
|
|
# Example plugins with special characters
|
|
*:*/examples/plugins/*
|
|
|
|
# =============================================================================
|
|
# Public DTOs / API structs
|
|
# =============================================================================
|
|
# Many header-only DTO structs are populated/consumed across TUs (serialization,
|
|
# DB mapping, IPC, etc.). cppcheck reports unusedStructMember within a single TU.
|
|
|
|
unusedStructMember:*include/yams/api/*
|
|
unusedStructMember:*include/yams/core/types.h
|
|
unusedStructMember:*include/yams/metadata/*
|
|
unusedStructMember:*include/yams/vector/*
|
|
unusedStructMember:*include/yams/content/*_content_handler.h
|
|
unusedStructMember:*include/yams/daemon/resource/*
|
|
unusedStructMember:*include/yams/daemon/components/ServiceManager.h
|
|
|
|
# Various headers intentionally include private impl/rolling-window state.
|
|
unusedStructMember:*include/yams/chunking/chunker.h
|
|
|
|
# =============================================================================
|
|
# C++20/23 feature false positives
|
|
# =============================================================================
|
|
# cppcheck doesn't fully support C++20/23 features like coroutines, concepts,
|
|
# ranges, etc. These produce syntaxError and other false positives.
|
|
|
|
# Coroutine-related false positives (co_await, co_return, co_yield)
|
|
syntaxError:*daemon_client.h
|
|
syntaxError:*request_handler.h
|
|
syntaxError:*request_handler.cpp
|
|
syntaxError:*streaming_processor.cpp
|
|
syntaxError:*InternalEventBus.h
|
|
syntaxError:*plugin_host_services.cpp
|
|
|
|
# C++20 concepts (requires clauses)
|
|
syntaxError:*atomic_utils.h
|
|
|
|
# C++20 ranges and other features
|
|
syntaxError:*ui_helpers.hpp
|
|
syntaxError:*repair_manager.h
|
|
syntaxError:*mcp_server.cpp
|
|
|
|
# nlohmann::json-heavy test inputs with "$prev" expressions trip cppcheck's parser.
|
|
syntaxError:*mcp_code_mode_catch2_test.cpp
|
|
# __has_feature() is a Clang compiler built-in; cppcheck cannot evaluate it
|
|
syntaxError:*onnx_plugin_harness_test.cpp
|
|
|
|
# Coroutine missingReturn false positives - awaitable<void> functions don't need
|
|
# explicit co_return at end of function
|
|
missingReturn:*search_service.cpp
|
|
|
|
# unknownMacro false positives for standard types
|
|
unknownMacro:*content_store_builder.h
|
|
|
|
# =============================================================================
|
|
# Specific unused function suppressions
|
|
# =============================================================================
|
|
|
|
# Test-related functions
|
|
unusedFunction:*Mock*
|
|
unusedFunction:*Test*
|
|
unusedFunction:*Fixture*
|
|
|
|
# Factory and registry patterns
|
|
unusedFunction:*Factory*
|
|
unusedFunction:*Provider*
|
|
unusedFunction:*Handler*
|
|
unusedFunction:*Processor*
|
|
|
|
# CLI command registration
|
|
unusedFunction:*Command*
|
|
|
|
# Configuration and initialization
|
|
unusedFunction:*Init*
|
|
unusedFunction:*Config*
|
|
unusedFunction:*Settings*
|
|
|
|
# RAII and resource management
|
|
unusedFunction:*Guard*
|
|
unusedFunction:*Lock*
|
|
unusedFunction:*Scope*
|
|
|
|
# API interfaces
|
|
unusedFunction:*Interface*
|
|
unusedFunction:*Abstract*
|
|
|
|
# Error handling patterns
|
|
unusedFunction:*Result*
|
|
unusedFunction:*Expected*
|
|
unusedFunction:*Optional*
|
|
unusedFunction:*Cleanup*
|
|
|
|
# =============================================================================
|
|
# Other common suppressions
|
|
# =============================================================================
|
|
|
|
# Intentionally unused variables
|
|
unusedVariable:*unused*
|
|
unusedVariable:*_unused*
|
|
|
|
# Template and inheritance patterns
|
|
missingOverride
|
|
noExplicitConstructor
|
|
templateInstantiation
|
|
useInitializationList
|
|
|
|
# Duplicate expressions in specialized code
|
|
duplicateExpression:*vector*
|
|
duplicateExpression:*embedding*
|
|
duplicateExpression:*compression*
|
|
duplicateExpression:*crypto*
|
|
duplicateExpression:*hash*
|
|
duplicateExpression:*sql*
|
|
duplicateExpression:*query*
|
|
|
|
# Performance-critical code where style is less important
|
|
constParameter:*hot_path*
|
|
constParameter:*performance*
|
|
constParameter:*fast_*
|
|
|
|
# Result rendering: FilePathAdapter deliberately reports size=0.
|
|
knownConditionTrueFalse:*include/yams/cli/result_renderer.h
|
|
|
|
# Generated / schema-like code: avoid refactoring-only suggestions.
|
|
functionStatic:*include/yams/daemon/ipc/ipc_protocol.h
|
|
|
|
# Refactor-only suggestions we don't want to chase in normal workflow.
|
|
useStlAlgorithm
|
|
functionStatic
|
|
|
|
# =============================================================================
|
|
# Cppcheck false positives for control flow patterns
|
|
# =============================================================================
|
|
|
|
# cppcheck doesn't understand that co_return/return exits the function, so it
|
|
# reports false nullPointerRedundantCheck after early-exit guards like:
|
|
# if (!ptr) { co_return Error{}; }
|
|
# ptr->method(); // cppcheck thinks ptr could be null here
|
|
nullPointerRedundantCheck:*daemon_client.cpp
|
|
nullPointerRedundantCheck:*request_dispatcher_status.cpp
|
|
nullPointerRedundantCheck:*dispatch_utils.hpp
|
|
nullPointerRedundantCheck:*ServiceManager.cpp
|
|
nullPointerRedundantCheck:*SocketServer.cpp
|
|
nullPointerRedundantCheck:*status_command.cpp
|
|
nullPointerRedundantCheck:*request_dispatcher_documents.cpp
|
|
nullPointerRedundantCheck:*request_dispatcher_embeddings.cpp
|
|
nullPointerRedundantCheck:*request_dispatcher_graph.cpp
|
|
nullPointerRedundantCheck:*request_dispatcher_plugins.cpp
|
|
nullPointerRedundantCheck:*IngestService.cpp
|
|
nullPointerRedundantCheck:*mcp_server.cpp
|
|
nullPointerRedundantCheck:*session_command.cpp
|
|
nullPointer:*dispatch_utils.hpp
|
|
|
|
# Result-returning retry loops can confuse cppcheck's control-flow model.
|
|
identicalConditionAfterEarlyExit:*metadata_repository.cpp
|
|
|
|
# Third-party dependency parser noise from Conan-managed headers.
|
|
missingInclude:*\.conan2/*
|
|
preprocessorErrorDirective:*\.conan2/*
|
|
|
|
# Test/helper relative includes that compile correctly but cppcheck project mode
|
|
# fails to resolve consistently.
|
|
missingInclude:*tests/integration/vector/hnsw_retrieval_diagnostic.cpp
|
|
missingInclude:*tests/integration/search/hybrid_search_integration_test.cpp
|
|
missingInclude:*tests/integration/search/fsm_tuning_benchmark_integration_test.cpp
|
|
missingInclude:*tests/unit/metadata/repository_foundation_test.cpp
|
|
missingInclude:*tests/unit/plugins/plugin_installer_test.cpp
|
|
|
|
# Iterator validity after early-exit
|
|
derefInvalidIteratorRedundantCheck:*request_handler.cpp
|
|
|
|
# False positive: cppcheck doesn't understand try/catch control flow with coroutines
|
|
accessMoved:*streaming_processor.cpp
|