Pin Amiga CI to GCC 15.2 - #8661
Conversation
| # change; Make variable assignments apply regardless of where they appear. | ||
| GCC_MAJOR_VERSION="$(m68k-amigaos-gcc -dumpversion | cut -d. -f1)" | ||
| if [ "$GCC_MAJOR_VERSION" -ge 14 ]; then | ||
| printf '\nGCCFLAGS += -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=int-conversion -Wno-error=incompatible-pointer-types -Wno-error=return-mismatch -Wno-error=return-type -Wno-error=pointer-sign -Wno-error=pointer-to-int-cast -Wno-error=int-to-pointer-cast\n' >> Makefile |
There was a problem hiding this comment.
Feels like this could be sent upstream. Though, the maintainer might actually prefer to fix the errors rather than convert them to warnings, in which case it ought to be okay to keep this fix here for now. At the very least, we should probably open an issue there before merging, just for the sake of due diligence.
There was a problem hiding this comment.
They were warnings in previous versions. But yes, it probably should be sent upstream. From my perspective it's a reversion in 15.2.
There was a problem hiding this comment.
The upstream repo is archived so never mind about sending this upstream. Instead, we should consider experimenting with the replacement repo, or possibly even the SDL2/3 implementation.
SDL1: https://github.com/AmigaPorts/SDL-1.2
SDL2/3: https://github.com/AmigaPorts/SDL/tree/AmigaOS3
Move the pinned m68k-amigaos-gcc10 digest from GCC 13.2 to the current GCC 15.2 build, keeping a fixed digest rather than floating on the tag (the whole reason it was pinned in the first place). Also patches prep.sh so AmigaPorts' libSDL12 still builds: GCC 14+ promotes several legacy-C conformance warnings to hard errors by default, which this 1990s-vintage codebase trips on every one of. The fix is gated on the actual compiler's major version, so it's a no-op under GCC 13.2 and only applies under 14+ -- verified both ways with a clean build. Requires diasurgical#8660 (Restore AmigaOS build and runtime support) to actually build successfully; without those fixes this compiler alone still hits the same failures documented there.
09dfb68 to
1515ebf
Compare
|
Rebased to fix the CI failure and unpinned the Docker image. |
Move the pinned m68k-amigaos-gcc10 digest from GCC 13.2 to the current GCC 15.2 build, keeping a fixed digest rather than floating on the tag (the whole reason it was pinned in the first place). Also patches prep.sh so AmigaPorts' libSDL12 still builds: GCC 14+ promotes several legacy-C conformance warnings to hard errors by default, which this 1990s-vintage codebase trips on every one of. The fix is gated on the actual compiler's major version, so it's a no-op under GCC 13.2 and only applies under 14+ -- verified both ways with a clean build. Requires #8660 (Restore AmigaOS build and runtime support) to actually build successfully; without those fixes this compiler alone still hits the same failures documented there.