Skip to content

Build: triage GCC warning backlog #8

Description

@akratch

The Ubuntu 24.04 GCC native build passes, but it still emits a sizeable warning backlog from decompiled/game-code patterns. This is not currently a launch blocker because the build and CTest pass, but reducing warning noise will make public contributions easier to review and make real portability regressions easier to see.

Observed warning categories from the tracked-copy Linux lane:

  • strict-aliasing / type-punned pointer warnings in decompiled game code;
  • maybe-uninitialized warnings in several gameplay/rendering modules;
  • array-bounds warnings around legacy table/object layouts;
  • packed-member alignment warnings for model runtime data;
  • enum/int mismatch warnings in menu init prototypes;
  • format-truncation warnings in native config path handling.

Already cleaned up before launch:

  • clean-room top-level compatibility headers;
  • native stddef forwarding on glibc;
  • scheduler flag macro alignment;
  • unchecked diagnostic write/fread/fwrite warnings in native paths that surfaced during validation.

Suggested path:

  1. Capture the warning list from a clean Ubuntu 24.04 build.
  2. Split true native-port warnings from expected decomp/ABI patterns.
  3. Fix narrow native-port warnings directly.
  4. For decompiled-code warnings, either document why they are expected or add tightly scoped suppression around known-safe patterns.
  5. Keep the local warning-summary/preflight lane useful for maintainers and contributors. Hosted Actions are not a launch requirement.

Validation command used locally: Ubuntu 24.04 tracked-copy CMake Release build, warning summary from the build log, then ROM-free CTest. See the Linux/Windows native-port setup validation issue for the current platform-validation status.

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildConfigure, build, toolchain, and dependency setuphelp wantedExtra attention is neededvalidationTests, instrumentation, smoke routes, and regression tooling

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions