From 8939a758018a928eb3bc9cb513536b85b1378691 Mon Sep 17 00:00:00 2001 From: Headline Date: Fri, 1 Nov 2019 04:05:50 -0700 Subject: [PATCH] Stage GCC8+ fixes --- core/AMBuilder | 2 ++ core/sourcehook/sourcehook.h | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/AMBuilder b/core/AMBuilder index f583482..9dc4269 100644 --- a/core/AMBuilder +++ b/core/AMBuilder @@ -31,5 +31,7 @@ for sdk_name in MMS.sdks: # Source2 hack. TODO: check this more deterministically, "are we doing an x64 build?" if arch == 'x86': binary.sources += ['sourcehook/sourcehook_hookmangen.cpp'] + if binary.compiler.family == 'gcc' and binary.compiler.version >= 'gcc-8': + binary.compiler.cxxflags += ['-Wno-class-memaccess', '-Wno-format-truncation'] nodes = builder.Add(binary) MMS.binaries += [nodes] diff --git a/core/sourcehook/sourcehook.h b/core/sourcehook/sourcehook.h index e6236d5..6cef679 100644 --- a/core/sourcehook/sourcehook.h +++ b/core/sourcehook/sourcehook.h @@ -1541,14 +1541,14 @@ SourceHook::CallClass *SH_GET_CALLCLASS(T *p) SH_DECL_EXTERN(ifacetype, ifacefunc, attr, overload, rettype, param1, param2) #define SH_DECL_HOOK2_void(ifacetype, ifacefunc, attr, overload, param1, param2) \ - SHINT_MAKE_GENERICSTUFF_BEGIN(ifacetype, ifacefunc, overload, (static_cast \ + SHINT_MAKE_GENERICSTUFF_BEGIN(ifacetype, ifacefunc, overload, (reinterpret_cast \ (&ifacetype::ifacefunc))) \ typedef fastdelegate::FastDelegate FD; \ MAKE_DELEG_void((param1 p1, param2 p2), (p1, p2)); \ virtual void Func(param1 p1, param2 p2) \ { SH_HANDLEFUNC_void((param1, param2), (p1, p2)); } \ SHINT_MAKE_GENERICSTUFF_END(ifacetype, ifacefunc, overload, \ - (static_cast(&ifacetype::ifacefunc))) \ + (reinterpret_cast(&ifacetype::ifacefunc))) \ \ const ::SourceHook::PassInfo __SourceHook_ParamInfos_##ifacetype##ifacefunc##overload[] = { {1, 0, 0},__SH_GPI(param1),__SH_GPI(param2) }; \ const ::SourceHook::PassInfo::V2Info __SourceHook_ParamInfos2_##ifacetype##ifacefunc##overload[] = { __SH_EPI, __SH_EPI, __SH_EPI }; \