diff --git a/include/interfaces/idapro/STARSFunction.h b/include/interfaces/idapro/STARSFunction.h index fd5824c0ab1551ad0cb6720fae458ebc0a7cb376..f7c648844064364d67f1dfc60a98c64c3c32ed22 100644 --- a/include/interfaces/idapro/STARSFunction.h +++ b/include/interfaces/idapro/STARSFunction.h @@ -1,13 +1,17 @@ #ifndef STARS_IDA_Function_h #define STARS_IDA_Function_h +#if __GCC__ >= 8 #pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif #include <pro.h> #include <funcs.hpp> #include <frame.hpp> +#if __GCC__ >= 8 #pragma GCC diagnostic pop +#endif #include "interfaces/STARSTypes.h" diff --git a/include/interfaces/idapro/all.h b/include/interfaces/idapro/all.h index f8b3134adfbfb92d20e0aad00975aef5a35c0e41..5a2b9738447c2ffdfaee611c1edb84e67ab8b79a 100644 --- a/include/interfaces/idapro/all.h +++ b/include/interfaces/idapro/all.h @@ -7,9 +7,12 @@ #pragma GCC diagnostic ignored "-Wunknown-pragmas" #pragma GCC diagnostic ignored "-Wparentheses" #pragma GCC diagnostic ignored "-Wsign-compare" -#pragma GCC diagnostic ignored "-Wclass-memaccess" #pragma GCC diagnostic ignored "-Wmaybe-uninitialized" +#if __GCC__ >= 8 +#pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif + #include <fpro.h> #include <pro.h> #include <ida.hpp> @@ -25,7 +28,10 @@ #pragma GCC diagnostic pop #pragma GCC diagnostic pop #pragma GCC diagnostic pop + +#if __GCC__ >= 8 #pragma GCC diagnostic pop +#endif #include <assert.h> diff --git a/src/interfaces/idapro/STARSIDAInstruction.cpp b/src/interfaces/idapro/STARSIDAInstruction.cpp index ed9053e693e252249decac6d480f67903379358e..196614430540ba7d95631bdfa8c37f88d7ae0338 100644 --- a/src/interfaces/idapro/STARSIDAInstruction.cpp +++ b/src/interfaces/idapro/STARSIDAInstruction.cpp @@ -60,10 +60,16 @@ void STARS_IDA_Instruction_t::InitOperand(op_t &InitOp) const { InitOp.specflag2 = 0; InitOp.specflag3 = 0; InitOp.specflag4 = 0; -#else +#else // not 0 + +#if __GCC__ >= 8 #pragma GCC diagnostic ignored "-Wclass-memaccess" +#endif (void) memset(&InitOp, 0, sizeof(op_t)); + +#if __GCC__ >= 8 #pragma GCC diagnostic pop +#endif #if (IDA_SDK_VERSION < 700) InitOp.dtyp = global_STARS_program->GetSTARS_ISA_dtyp();