Story: Hotfix: Continuous Linux gcc jobs red on two constructs in the generated domain.cpp

Table of Contents

This page documents a story in Sprint 25. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

Main's Continuous Linux gcc jobs are red again, on a defect the previous hotfix could not reach. The ascot rename in PR #2079 cleared the first gcc error, and the build then failed inside the generated parser in projects/ores.ore/core/src/domain/domain.cpp. Two gcc-only diagnostics sit in that file. A case label falls through to the default label behind a // no break comment, which gcc does not accept as a fallthrough marker, and gcc 16 also reports a loop counter that is set but never read. Every clang job passes, because clang raises neither warning.

The tree has not compiled clean under gcc since -Wall and -Wextra were enabled on 2026-09-11. The last successful Continuous Linux run is from 2026-09-08, before those flags landed, so the gcc fallout of that change is largely unexplored and further errors may sit behind this one. This story fixes the two known diagnostics and states plainly what remains unproven.

The fix silences the two warnings for that one generated file, under gcc only, in the same place and for the same reason as the existing suppressions for that file. The generator that emits the file lives outside this repository, so the generated file itself is not edited.

2. Status

Field Value
State DONE
Parent sprint Sprint 25
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-09-15

3. Acceptance

  • domain.cpp compiles clean under gcc with the compiler flags the tree sets, both warnings silenced and the object file produced.
  • The clang jobs are unchanged. The new flags are GNU-only, so clang compiles the file with exactly the flags it used before.
  • No generated file is hand-edited. The suppressions live in projects/ores.ore/core/src/CMakeLists.txt beside the existing ones for that file, with the reason recorded next to them.
  • The PR states plainly that the gcc tree has had no green run since -Wall and -Wextra landed, and that further gcc-only fallout may sit behind this error.

4. Tasks

Task State Start End Description
Implement Hotfix: silence the two gcc warnings in the generated domain.cpp DONE 2026-09-15 2026-09-15 Add -Wno-implicit-fallthrough and -Wno-unused-but-set-variable for domain.cpp under GNU only, beside the existing per-file suppressions in projects/ores.ore/core/src/CMakeLists.txt, and record why. Verify by compiling the affected translation unit with gcc 16.2.0 and by the code-class checks on the clang tree, then raise one PR.

5. Decisions

6. Out of scope

Emacs 29.3 (Org mode 9.6.15)