Fix building on GCC 15#5467
Conversation
| /* 0x30 */ union { | ||
| s32 (*normal)(struct SkelAnime*); // Can be Loop, Partial loop, Play once, Morph, or Tapered morph | ||
| s32 (*link)(struct PlayState*, struct SkelAnime*); // Can be Loop, Play once, or Morph | ||
| } update; |
There was a problem hiding this comment.
PR description should call out specifically what was causing issues for GCC15. Was there more than this?
There was a problem hiding this comment.
I decided to fix it which required updating Rumble_ClearRequests and SkelAnime to decomp, with some additional changes to address issues with that
|
if this was just small changes to get it working with gcc15 i'd be cool with it pointing to blair, but i think this is better suited to dev as for
can't you just install gcc13? https://archlinux.org/packages/?name=gcc13 |
|
The irony is I would be less confident in smaller changes because then I would no longer be working with "known good" decomp.
I didn't want to potentially invite potential compiler misconfigurations into my build setup because I figured this would be a priority merge due to breaking build instructions on arch (and eventually other platforms) and because I was effectivly on break regardless due to PRs not getting merged. |
* only build for switch, update devkitpro docker image to 2025-11-17 version * update upload-artifact to v4 * ignore int conversion warning turned error * ignore return mismatch warning turned error * fix too many args error * try ignoring instead * undo ignore attempt * manually cherry-pick HarbourMasters#5467 * ignore implicit int warning turned error
GCC recently updated to 15.1 and with it ship started failing to build because of number of argument issues in src. I decided to fix it which required updating Rumble_ClearRequests and SkelAnime to decomp, with some additional changes to address issues with that. Copypasting from decomp was complicated by what seem to be ship changes to skelAnime functions so I tried to be more precise around those, but I strongly request someone who knows what's going on in there look over things.
Pointed at Blair because I would like to be able to build Blair in the near future.
Build Artifacts