diff --git a/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx b/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx
index 052c4587543ce299f2e6920f314e84c5b81c57ba..bebef6e392893bbc5c028151f8cca87045773016 100644
--- a/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx
+++ b/Modules/Core/Common/src/otbExtendedFilenameHelper.cxx
@@ -25,10 +25,6 @@
 #include <stdexcept>
 #include <string>
 
-#include <boost/algorithm/string.hpp>
-#include <boost/lexical_cast.hpp>
-
-#include "otb_boost_string_header.h"
 #include "otbStringUtils.h"
 
 namespace otb
diff --git a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.hxx b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.hxx
index 03e95cae402f12ceb4f324dc8a2c8444d8ad560b..05e1a8d2591dfeaf5dad94432184382abebcdc88 100644
--- a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.hxx
+++ b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.hxx
@@ -147,7 +147,6 @@ void BandMathImageFilter<TImage>
 ::BeforeThreadedGenerateData()
 {
   typename std::vector<ParserType::Pointer>::iterator        itParser;
-  typename std::vector< std::vector<PixelType> >::iterator   itVImage;
   unsigned int nbThreads = this->GetNumberOfThreads();
   unsigned int nbInputImages = this->GetNumberOfInputs();
   unsigned int nbAccessIndex = 4; //to give access to image and physical index
diff --git a/Modules/Filtering/MathParserX/include/otbParserX.h b/Modules/Filtering/MathParserX/include/otbParserX.h
index afa5ba016ae6b982581cb8373c8058a4763aeb56..3cdf511768a17011373f9945d677b1ab5c1dbcab 100644
--- a/Modules/Filtering/MathParserX/include/otbParserX.h
+++ b/Modules/Filtering/MathParserX/include/otbParserX.h
@@ -28,8 +28,9 @@
 #pragma clang diagnostic push
 #pragma clang diagnostic ignored "-Wc++11-extensions"
 
+#if defined(__apple_build_version__) &&  __apple_build_version__ < 7000053
 /* Apple's 3.6.0 based clang doesn't support -Winconsistent-missing-override */
-#if defined(__apple_build_version__) &&  __apple_build_version__ >= 7000053
+#else
 #pragma clang diagnostic ignored "-Winconsistent-missing-override"
 #endif
 
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
index a3f6c6cd440c6288f052322e598e3d4bc6ac9fbf..71ed7482073a8090e7ef854436707cca60a88528 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
@@ -30,9 +30,11 @@
 #pragma GCC diagnostic ignored "-Wunused-parameter"
 #pragma GCC diagnostic ignored "-Woverloaded-virtual"
 #pragma GCC diagnostic ignored "-Wsign-compare"
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
 #if defined(__clang__)
 #pragma clang diagnostic ignored "-Wheader-guard"
 #pragma clang diagnostic ignored "-Wdivision-by-zero"
+#pragma clang diagnostic ignored "-Wexpansion-to-defined"
 #else
 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
 #endif
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
index 9e5f84ffec37884b28fdfef201025a7fe1abf9f4..c1aa97b938b350824da50b0d2886537fed3828f4 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
@@ -29,8 +29,10 @@
 #pragma GCC diagnostic ignored "-Wunused-parameter"
 #pragma GCC diagnostic ignored "-Woverloaded-virtual"
 #pragma GCC diagnostic ignored "-Wsign-compare"
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
 #if defined(__clang__)
 #pragma clang diagnostic ignored "-Wheader-guard"
+#pragma clang diagnostic ignored "-Wexpansion-to-defined"
 #else
 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
 #endif
diff --git a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
index 80fe32df9d78ffaed6564a7a19b235f102a3a99e..836afb8411431d4633d2c0b997391ac477866c37 100644
--- a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
@@ -34,8 +34,10 @@
 #pragma GCC diagnostic ignored "-Wcast-align"
 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
 #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
 #if defined(__clang__)
 #pragma clang diagnostic ignored "-Wheader-guard"
+#pragma clang diagnostic ignored "-Wexpansion-to-defined"
 #else
 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
 #endif
diff --git a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
index 6c9956f59332acca82ba3f6da4b0364e465698eb..05a408cd35b3c66fbdac66eefdc039b49ffe3d9e 100644
--- a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
+++ b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
@@ -33,8 +33,10 @@
 #pragma GCC diagnostic ignored "-Wsign-compare"
 #pragma GCC diagnostic ignored "-Wcast-align"
 #pragma GCC diagnostic ignored "-Wunknown-pragmas"
+#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
 #if defined(__clang__)
 #pragma clang diagnostic ignored "-Wheader-guard"
+#pragma clang diagnostic ignored "-Wexpansion-to-defined"
 #else
 #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
 #endif
diff --git a/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h b/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h
index 92f368469c093397ece07916974a3c9544c96969..19e000e9c5623cee54182d5b3615c65bec1d87cf 100644
--- a/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h
+++ b/Modules/Visualization/Ice/include/otbNonOptGlImageActor.h
@@ -56,16 +56,16 @@ public:
   void Initialize(const std::string & filename);
 
   // Retrieve the full extent of the actor
-  virtual void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const;
+  void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const override;
 
   // Update internal actor state with respect to ViewSettings
-  virtual void ProcessViewSettings();
+  void ProcessViewSettings() override;
 
   // Heavy load/unload operations of data
-  virtual void UpdateData();
+  void UpdateData() override;
 
   // Gl rendering of current state
-  virtual void Render();
+  void Render() override;
 
   const PointType & GetOrigin() const;