diff --git a/include/otbSARDEMPolygonsAnalysisImageFilter.txx b/include/otbSARDEMPolygonsAnalysisImageFilter.txx
index 38eeccba4d6d7d793ccdc2cdcecf7ea672a4377e..ebdd171f93056b084e4f5d9ff0b69aa80b3337a4 100644
--- a/include/otbSARDEMPolygonsAnalysisImageFilter.txx
+++ b/include/otbSARDEMPolygonsAnalysisImageFilter.txx
@@ -909,7 +909,7 @@ namespace otb
       {
 	OutIt.GoToBeginOfLine();
 	// indice of current line (into output Geometry)
-	int ind_Line = OutIt.GetIndex()[1] + int(this->GetOutput()->GetOrigin()[1]);
+	//~ int ind_Line = OutIt.GetIndex()[1] + int(this->GetOutput()->GetOrigin()[1]);
      
 	// The Projeted DEM Pixel/Bands is always into SAR geometry => must be adapted for mlRan and mlAzi != 1
 	// If mlRan and mlAzi == 1 same as SAR geometry (loop on ind_Line_start=ind_Line only)
diff --git a/include/otbSARDEMProjectionImageFilter.h b/include/otbSARDEMProjectionImageFilter.h
index cd9f0f78e69a783232e622c0d89d4f71dca3151f..3bf43316ebb4543e2239becc0dbcb3d62aab5611 100644
--- a/include/otbSARDEMProjectionImageFilter.h
+++ b/include/otbSARDEMProjectionImageFilter.h
@@ -28,7 +28,21 @@
 #include "otbSarSensorModelAdapter.h"
 #include "otbImageKeywordlist.h"
 
-#include "ossim/base/ossimGeoidEgm96.h"
+#if defined(__GNUC__) || defined(__clang__)
+# pragma GCC diagnostic push
+#   pragma GCC diagnostic ignored "-Woverloaded-virtual"
+#if defined(__GNUC__) && (__GNUC__ > 5)
+#pragma GCC diagnostic ignored "-Wnonnull-compare"
+#endif
+#   include "ossim/base/ossimGeoidEgm96.h"
+# pragma GCC diagnostic pop
+#else
+#   include "ossim/base/ossimGeoidEgm96.h"
+#endif
+
+
+
+
 
 namespace otb
 {
diff --git a/include/otbSARDopplerCentroidFreqImageFilter.txx b/include/otbSARDopplerCentroidFreqImageFilter.txx
index 9a216cc816fa2f9a4063f6988958d52e4b6228d8..8d57b0dbfb737a9cbdd6143326af455a64c49594 100644
--- a/include/otbSARDopplerCentroidFreqImageFilter.txx
+++ b/include/otbSARDopplerCentroidFreqImageFilter.txx
@@ -154,7 +154,7 @@ namespace otb
     
     this->getAllCoefs(inputKWL, FMRateRecords);
 
-    DurationType diffAziTimeMin;
+    DurationType diffAziTimeMin(0);
     unsigned int polySelected = 0;
     
     // Select one polynomial (with m_MidAziTime)
diff --git a/include/otbTilesAnalysisImageFilter.h b/include/otbTilesAnalysisImageFilter.h
index 980412b5788c4edd64e27fd2c2f52cfd1d82335d..7301543c42ceaef90722058f0839a0b7f06d2516 100644
--- a/include/otbTilesAnalysisImageFilter.h
+++ b/include/otbTilesAnalysisImageFilter.h
@@ -156,17 +156,17 @@ protected:
   TilesAnalysisImageFilter();
 
   // Destructor
-  virtual ~TilesAnalysisImageFilter() ITK_OVERRIDE;
+  ~TilesAnalysisImageFilter() override;
 
   // Print
-  void PrintSelf(std::ostream & os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream & os, itk::Indent indent) const override;
   
   /** TilesAnalysisImageFilter produces an image which are into output geometry. The differences between 
    * output and input images can be the size of images and the dimensions. 
    * As such, TilesAnalysisImageFilter needs to provide an implementation for 
    * GenerateOutputInformation() in order to inform the pipeline execution model. 
    */ 
-  virtual void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** TilesAnalysisImageFilter needs a input requested region that corresponds to the margin and shifts 
    * into the requested region of our output requested region. The output requested region needs to be modified
@@ -174,7 +174,7 @@ protected:
    * As such, TilesAnalysesImageFilter needs to provide an implementation for 
    * GenerateInputRequestedRegion() in order to inform the pipeline execution model. 
    * \sa ProcessObject::GenerateInputRequestedRegion() */
-  virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /**
    * OutputRegionToInputRegion returns the input region 
@@ -186,6 +186,7 @@ protected:
    */
   GridRegionType OutputRegionToInputGridRegion(const ImageOutRegionType& outputRegion) const;
 
+  using Superclass::ThreadedGenerateData;
   /** startIndex and stopIndex represent the indices of tiles to process in thread threadId and index for the
       first tile */
   void ThreadedGenerateData(unsigned int startTileId, unsigned int stopTileId, 
@@ -206,7 +207,7 @@ protected:
   /** 
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
-  virtual void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   
  private:
   TilesAnalysisImageFilter(const Self&); // purposely not implemented