diff --git a/src/analysis/CMakeLists.txt b/src/analysis/CMakeLists.txt
index 3cbded76d7fadead5565ba862289aec3dcdbaad8..b675ea696e20afb930e0163fc451d72111cf6f0a 100644
--- a/src/analysis/CMakeLists.txt
+++ b/src/analysis/CMakeLists.txt
@@ -11,3 +11,10 @@ add_library(
   TensorialGaussLobattoQuadrature.cpp
   TetrahedronGaussQuadrature.cpp
   TriangleGaussQuadrature.cpp)
+
+if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
+  if((CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.0.0") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "13.0.0"))
+    # Deactivated since it produces false positive warning in this file only ...
+    set_source_files_properties(PyramidGaussQuadrature.cpp PROPERTIES COMPILE_FLAGS "-Wno-array-bounds")
+  endif()
+endif()
diff --git a/src/language/modules/BuiltinModule.hpp b/src/language/modules/BuiltinModule.hpp
index 33afb27d718be626cad0e14da1736761e5f8a624..e15dda2972686761a52211eebf2cd82fa87f8825 100644
--- a/src/language/modules/BuiltinModule.hpp
+++ b/src/language/modules/BuiltinModule.hpp
@@ -6,6 +6,7 @@
 
 #include <utils/Exceptions.hpp>
 
+#include <functional>
 #include <sstream>
 
 class IBuiltinFunctionEmbedder;
diff --git a/src/language/utils/ASTNodeDataType.hpp b/src/language/utils/ASTNodeDataType.hpp
index b7cc48fefaa6d849cf970641b37279a5a85ca15e..4ef3a80c188faa5898fd29e0bc35cce651c7f6c8 100644
--- a/src/language/utils/ASTNodeDataType.hpp
+++ b/src/language/utils/ASTNodeDataType.hpp
@@ -3,6 +3,7 @@
 
 #include <utils/PugsAssert.hpp>
 
+#include <array>
 #include <limits>
 #include <memory>
 #include <string>
@@ -119,7 +120,7 @@ class ASTNodeDataType
   }
 
   ASTNodeDataType& operator=(const ASTNodeDataType&) = default;
-  ASTNodeDataType& operator=(ASTNodeDataType&&) = default;
+  ASTNodeDataType& operator=(ASTNodeDataType&&)      = default;
 
   template <DataType data_type>
   [[nodiscard]] static ASTNodeDataType