What
Implement explicit toolchain feature definitions for every required behavior that is currently obtained implicitly from Bazel's legacy C++ feature set.
The goal is to make the toolchain configuration explicit, deterministic, and independent from Bazel's built-in legacy defaults.
Acceptance Criteria (DoD)
- All required features identified during gap analysis are implemented explicitly in the toolchain configuration, or intentionally marked unsupported.
- Supported Linux and QNX toolchain behavior no longer depends on Bazel implicit legacy features.
- The explicit feature set is traceable back to the inventory and gap-analysis outputs.
- The toolchain continues to support all intended build scenarios after the change.
How
- Use the gap-analysis output as the implementation backlog.
- Add explicit feature definitions to the relevant toolchain templates.
- Keep Linux- and QNX-specific behavior separate where platform requirements differ.
- Preserve supported behavior where that behavior is intended.
- Where a legacy behavior is no longer desired, make that decision explicit rather than silently relying on Bazel defaults.
- Keep changes scoped feature by feature so review and validation remain manageable.
Out of Scope
- Comprehensive consumer documentation.
- CI expansion not required to validate the implementation itself.
- Long-term regression guardrails.
What
Implement explicit toolchain feature definitions for every required behavior that is currently obtained implicitly from Bazel's legacy C++ feature set.
The goal is to make the toolchain configuration explicit, deterministic, and independent from Bazel's built-in legacy defaults.
Acceptance Criteria (DoD)
How
Out of Scope