From ebf4d66b54bbf86cd67de6f4a8968753337a355a Mon Sep 17 00:00:00 2001
From: Tristan Walter <twalter@orn.mpg.de>
Date: Fri, 6 Nov 2020 20:32:54 +0100
Subject: [PATCH] * platform specific warnings

---
 Application/src/commons/common/commons.pc.h   | 25 ++++++++++++++++++-
 Application/src/commons/common/misc/defines.h | 24 ++++++++++++++++++
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/Application/src/commons/common/commons.pc.h b/Application/src/commons/common/commons.pc.h
index 7fadfad..0278df6 100644
--- a/Application/src/commons/common/commons.pc.h
+++ b/Application/src/commons/common/commons.pc.h
@@ -1,6 +1,20 @@
 #pragma once
 
+#ifdef _MSC_VER
 #pragma warning(push, 0)
+#endif
+
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wall"
+#pragma GCC diagnostic ignored "-Wextra"
+#pragma GCC diagnostic ignored "-Wsign-conversion"
+#pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
+#pragma GCC diagnostic ignored "-Wimplicit-float-conversion"
+#pragma GCC diagnostic ignored "-Wfloat-conversion"
+#endif
+
+#ifdef __llvm__
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wall"
 #pragma clang diagnostic ignored "-Wextra"
@@ -8,6 +22,7 @@
 #pragma clang diagnostic ignored "-Wimplicit-int-conversion"
 #pragma clang diagnostic ignored "-Wimplicit-float-conversion"
 #pragma clang diagnostic ignored "-Wfloat-conversion"
+#endif
 
 #ifdef WIN32
 #include <windows.h>
@@ -82,6 +97,14 @@ typedef int32_t long_t;
 #include <commons/common/cpputils/debug/Printable.h>
 #include <cnpy.h>
 
-// Code that produces warnings...
+#ifdef __llvm__
 #pragma clang diagnostic pop
+#endif
+
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
+
+#ifdef _MSC_VER
 #pragma warning(pop)
+#endif
diff --git a/Application/src/commons/common/misc/defines.h b/Application/src/commons/common/misc/defines.h
index 03f4f17..39dedab 100644
--- a/Application/src/commons/common/misc/defines.h
+++ b/Application/src/commons/common/misc/defines.h
@@ -1,6 +1,20 @@
 #pragma once
 
+#ifdef _MSC_VER
 #pragma warning(push, 0)
+#endif
+
+#ifdef __GNUC__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wall"
+#pragma GCC diagnostic ignored "-Wextra"
+#pragma GCC diagnostic ignored "-Wsign-conversion"
+#pragma GCC diagnostic ignored "-Wimplicit-int-conversion"
+#pragma GCC diagnostic ignored "-Wimplicit-float-conversion"
+#pragma GCC diagnostic ignored "-Wfloat-conversion"
+#endif
+
+#ifdef __llvm__
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wall"
 #pragma clang diagnostic ignored "-Wextra"
@@ -8,6 +22,7 @@
 #pragma clang diagnostic ignored "-Wimplicit-int-conversion"
 #pragma clang diagnostic ignored "-Wimplicit-float-conversion"
 #pragma clang diagnostic ignored "-Wfloat-conversion"
+#endif
 
 #include <commons/common/commons.pc.h>
 
@@ -27,8 +42,17 @@
     #endif
 #endif
 
+#ifdef __llvm__
 #pragma clang diagnostic pop
+#endif
+
+#ifdef __GNUC__
+#pragma GCC diagnostic pop
+#endif
+
+#ifdef _MSC_VER
 #pragma warning(pop)
+#endif
 
 #include <misc/MetaObject.h>
 #include <misc/EnumClass.h>
-- 
GitLab