Skip to content

Fix building on GCC 15#5467

Merged
briaguya0 merged 1 commit intoHarbourMasters:developfrom
Pepper0ni:FixGCCBuild
May 17, 2025
Merged

Fix building on GCC 15#5467
briaguya0 merged 1 commit intoHarbourMasters:developfrom
Pepper0ni:FixGCCBuild

Conversation

@Pepper0ni
Copy link
Contributor

@Pepper0ni Pepper0ni commented May 4, 2025

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

Comment on lines +263 to +266
/* 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;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description should call out specifically what was causing issues for GCC15. Was there more than this?

Copy link
Contributor Author

@Pepper0ni Pepper0ni May 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/HarbourMasters/Shipwright/pull/5467/files#diff-dae657b3e905805f2a7bd2455840de57de5d177017c2e594cc3049606196f554R895

I decided to fix it which required updating Rumble_ClearRequests and SkelAnime to decomp, with some additional changes to address issues with that

@briaguya0
Copy link
Contributor

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

Pointed at Blair because I would like to be able to build Blair in the near future.

can't you just install gcc13? https://archlinux.org/packages/?name=gcc13

@Pepper0ni
Copy link
Contributor Author

The irony is I would be less confident in smaller changes because then I would no longer be working with "known good" decomp.

can't you just install gcc13?

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.

@Pepper0ni Pepper0ni changed the base branch from develop-blair to develop May 16, 2025 19:04
Copy link
Contributor

@briaguya0 briaguya0 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

once #5492 lands we'll probably want to do a blair -> dev and then we can add cb07470 (waiting til after the blair -> dev will at least avoid conflicts in those files)

@briaguya0 briaguya0 merged commit 5b6844c into HarbourMasters:develop May 17, 2025
6 checks passed
@briaguya0 briaguya0 mentioned this pull request May 17, 2025
krazyjakee pushed a commit to krazyjakee/OOT that referenced this pull request Sep 6, 2025
briaguya0 added a commit to briaguya0/Shipwright that referenced this pull request Nov 28, 2025
briaguya0 added a commit to HarbourMasters/Shipwright-Switch that referenced this pull request Nov 29, 2025
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants