diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 02030bd66..9808e9607 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -33,6 +33,14 @@ jobs: - name: Prepare run: cp -R /orig . + # Build and link non-matching files to verify lack of errors + - name: Build non-matching + run: | + python configure.py --non-matching \ + --version ${{ matrix.version }} \ + --binutils /binutils --compilers /compilers + ninja + # Build the project - name: Build run: | diff --git a/configure.py b/configure.py index f68943d26..bbf728d9a 100644 --- a/configure.py +++ b/configure.py @@ -187,6 +187,7 @@ "-enum int", "-fp hardware", "-Cpp_exceptions off", + "-W err", # "-W all", "-O4,p", "-inline auto", diff --git a/src/SB/Core/gc/iTRC.cpp b/src/SB/Core/gc/iTRC.cpp index a43f14bd2..6f5ae9d80 100644 --- a/src/SB/Core/gc/iTRC.cpp +++ b/src/SB/Core/gc/iTRC.cpp @@ -6,6 +6,17 @@ namespace ResetButton { bool mResetEnabled = 1; + void (*mSndKill)(); +} + +namespace iTRCDisk +{ + void (*mSndSuspend)(); + void (*mSndResume)(); + void (*mPadStopRumbling)(); + void (*mSndKill)(); + void (*mMovieSuspendFunction)(); + void (*mMovieResumeFunction)(); } bool ROMFont::Init() diff --git a/src/SB/Core/gc/iTRC.h b/src/SB/Core/gc/iTRC.h index 2b430354f..a9f5a0dc3 100644 --- a/src/SB/Core/gc/iTRC.h +++ b/src/SB/Core/gc/iTRC.h @@ -29,12 +29,12 @@ namespace ROMFont namespace iTRCDisk { char mMessage[]; - void (*mPadStopRumbling)(); - void (*mSndSuspend)(); - void (*mSndResume)(); - void (*mSndKill)(); - void (*mMovieSuspendFunction)(); - void (*mMovieResumeFunction)(); + extern void (*mSndSuspend)(); + extern void (*mSndResume)(); + extern void (*mPadStopRumbling)(); + extern void (*mSndKill)(); + extern void (*mMovieSuspendFunction)(); + extern void (*mMovieResumeFunction)(); void SetPadStopRumblingFunction(void (*)(void)); void SetSndSuspendFunction(void (*)(void)); @@ -53,7 +53,7 @@ namespace iTRCDisk namespace ResetButton { - void (*mSndKill)(); + extern void (*mSndKill)(); void EnableReset(); void DisableReset(); diff --git a/src/SB/Core/x/xBehaveMgr.h b/src/SB/Core/x/xBehaveMgr.h index f68b8b913..c58dfd8f3 100644 --- a/src/SB/Core/x/xBehaveMgr.h +++ b/src/SB/Core/x/xBehaveMgr.h @@ -12,8 +12,14 @@ struct xBehaveMgr : RyzMemData xPsyche* psypool; st_XORDEREDARRAY psylist; - xBehaveMgr(); - ~xBehaveMgr(); + xBehaveMgr() + { + } + + ~xBehaveMgr() + { + } + void Startup(S32, S32); void RegBuiltIn(); xPsyche* Subscribe(xBase* owner, S32 i); @@ -22,9 +28,6 @@ struct xBehaveMgr : RyzMemData void SceneFinish(); void SceneReset(); xFactory* GetFactory(); - - void* operator new(size_t amt, U32, RyzMemGrow*); - void operator delete(void*, U16); }; void xBehaveMgr_ScenePrepare(); diff --git a/src/SB/Game/zPlatform.cpp b/src/SB/Game/zPlatform.cpp index d48680be3..4a14bc0e2 100644 --- a/src/SB/Game/zPlatform.cpp +++ b/src/SB/Game/zPlatform.cpp @@ -467,6 +467,7 @@ U32 zMechIsStartingBack(zPlatform* ent, U16 param_2) static F32 SolvePaddleMotion(zPlatform* plat, F32* time, F32 tmr) { + return 0.0f; } void zPlatform_PaddleStartRotate(xEnt* entplat, S32 direction, S32 stutter)