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();