CNA-BUG-189: The GDI renderer's configure message hard-codes '3 GDI-owned units' while modules/renderers/gdi/src compiles four
Evidence basis: source-verified at the pinned commit. Claims on this page were checked by reading the CNA source at commit 009d40f5; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.
modules/renderers/gdi/CMakeLists.txt reports the GDI archive as the shared CPU-2D source count plus a literal 3, but cna_add_renderer globs four GDI translation units, so the reported total is one short.
- Identifier
CNA-BUG-189- Category
- Bug
- Subsystem
- Build & CI
- Status
- Open
- Verified against
- CNA
009d40f5(009d40f5dd085c4e674d3479675fac84b12b3e0a) - Severity
- Low (a triage suggestion, not a project priority)
- Evidence basis
- Source-verified: read at TARGET, not executed
- Tests touching this area
- None
- Affected contract
- The configure-time STATUS line 'CNA: GDI renderer archive = N shared CPU-2D sources + 3 GDI-owned units = M translation units' (GDI-078)
Expected behaviour
The message exists (GDI-078) so that plan counts "can be checked against generated evidence instead of a copied number"; it must report the archive's actual composition.
Actual behaviour at TARGET
modules/renderers/gdi/CMakeLists.txt computes CNA_GDI_ARCHIVE_TOTAL as the length of CNA_GDI_SOFTWARE_SOURCES plus a literal 3 and prints "+ 3 GDI-owned units". cna_add_renderer (modules/renderers/CMakeLists.txt) globs src/*.cpp, and modules/renderers/gdi/src holds four: GdiConfiguration.cpp, GdiPresentation.cpp, GdiRenderer.cpp and GdiRendererDescriptor.cpp. The total is one short - the copied-number drift the message was meant to prevent.
Source locations
modules/renderers/gdi/CMakeLists.txt— CNA_GDI_ARCHIVE_TOTAL and the STATUS messagemodules/renderers/CMakeLists.txt— cna_add_renderer - globs src/*.cppmodules/renderers/gdi/src/GdiRendererDescriptor.cpp— the fourth GDI-owned unit
Evidence
Checked by reading at 009d40f5; not executed (a GDI configure needs a Windows target). The archive itself is built correctly; only the report is wrong.
Focused reproduction
No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.
Current tests
None; no test reads configure messages.
Regression test
Derive the number from the same glob cna_add_renderer uses (or from the target's SOURCES property) instead of a literal.
Blast radius
The configure log of GDI builds only; the GDI archive is complete.
Workaround
No workaround is known.
Related pages
The same subject is explained at several altitudes. These are the neighbouring pages at each one.
- Architecture
- Module graph: renderer composition
- Known issues
- Bug index