Skip to main content

Module diagnostics

Module diagnostics 

Source
Expand description

C++’s semantic diagnostics: unrecognized-type reporting with stated proof.

The pass reports a missing type only where it can prove what a translation unit sees: a compile_commands.json entry with no forced or system includes, an #include closure of quoted project headers that all resolve and parse cleanly, and no preprocessor conditionals or macro definitions anywhere in that closure. That gate is unchanged. What changed in #1627 is that every way of failing it now states a typed SemanticDiagnosticIncompleteReason instead of returning silence: “this file has no unknown types” and “this file was never checked” are different answers, and only the first may be read as a clean bill of health.

Nothing here runs a compiler, a build tool, or a system include scan. The compile database is the whole of the external evidence, so a file the database does not name is unjudgeable rather than clean.

analyzer/cpp/diagnostics.rs in brokk-bifrost-analysis keeps only the fixtures that build a real CppAnalyzer.

Constants§

CPP_SEMANTIC_DIAGNOSTIC_SOURCE
CPP_UNRECOGNIZED_SYMBOL

Functions§

collect_cpp_semantic_diagnostics