From 57029beceaa3ea57df1e2c49fdab65815179aac9 Mon Sep 17 00:00:00 2001
From: Mathieu Westphal <mathieu.westphal@kitware.com>
Date: Thu, 22 Aug 2024 15:03:27 +0200
Subject: [PATCH] Fix a few warnings

Fix warnings detected by gcc 14 when building with
```
SET(CMAKE_CXX_FLAGS "-Wall -Wextra -Wshadow -Woverloaded-virtual -Wno-deprecated -Wno-strict-overflow -Wno-array-bounds -Wunreachable-code -fdiagnostics-color=always -Wstringop-overflow -Wstringop-overread" CACHE STRING "")
SET(CMAKE_C_FLAGS "-Wall -Wextra -Wshadow" CACHE STRING "")
```

The fixes are mostly about shadowed variables and methods
---
 Common/DataModel/vtkCone.h                            | 1 +
 Filters/FlowPaths/vtkAMRInterpolatedVelocityField.cxx | 4 +---
 IO/Exodus/vtkExodusIIWriter.cxx                       | 2 +-
 IO/Image/vtkNIFTIImageReader.cxx                      | 3 ++-
 IO/Parallel/vtkNek5000Reader.cxx                      | 2 +-
 Wrapping/Tools/vtkParseMain.c                         | 2 +-
 6 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Common/DataModel/vtkCone.h b/Common/DataModel/vtkCone.h
index 3c80b2f4186..a44b6247d15 100644
--- a/Common/DataModel/vtkCone.h
+++ b/Common/DataModel/vtkCone.h
@@ -36,6 +36,7 @@ public:
   vtkTypeMacro(vtkCone, vtkImplicitFunction);
   void PrintSelf(ostream& os, vtkIndent indent) override;
 
+  using vtkImplicitFunction::EvaluateFunction;
   ///@{
   /**
    * Evaluate cone equation.
diff --git a/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.cxx b/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.cxx
index 1916b9654c6..26c30e6cb48 100644
--- a/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.cxx
+++ b/Filters/FlowPaths/vtkAMRInterpolatedVelocityField.cxx
@@ -82,9 +82,7 @@ int vtkAMRInterpolatedVelocityField::SelfInitialize()
   {
     vectors = (gVectors
         ? gVectors
-        : vectors =
-            dataset->GetAttributesAsFieldData(this->VectorsType)->GetArray(this->VectorsSelection));
-
+        : dataset->GetAttributesAsFieldData(this->VectorsType)->GetArray(this->VectorsSelection));
     this->AddToDataSetsInfo(dataset, nullptr, vectors);
   }
 
diff --git a/IO/Exodus/vtkExodusIIWriter.cxx b/IO/Exodus/vtkExodusIIWriter.cxx
index a17699191e6..94b04b7a372 100644
--- a/IO/Exodus/vtkExodusIIWriter.cxx
+++ b/IO/Exodus/vtkExodusIIWriter.cxx
@@ -2292,7 +2292,7 @@ std::string vtkExodusIIWriter::CreateNameForScalarArray(
   {
     std::string s(root);
     // assume largest for 32 bit decimal representation
-    char n[11];
+    char n[12];
     snprintf(n, sizeof(n), "%10d", component);
     s.append(n);
     return s;
diff --git a/IO/Image/vtkNIFTIImageReader.cxx b/IO/Image/vtkNIFTIImageReader.cxx
index 55472fe5b34..0a78b22a0f4 100644
--- a/IO/Image/vtkNIFTIImageReader.cxx
+++ b/IO/Image/vtkNIFTIImageReader.cxx
@@ -664,7 +664,8 @@ int vtkNIFTIImageReader::RequestInformation(vtkInformation* vtkNotUsed(request),
   int scalarType = 0;
   int numComponents = 0;
 
-  for (int i = 0; typeMap[2] != nullptr; i++)
+  // the end of the typemap has been reached when typeMap[i][2] is 0
+  for (int i = 0; typeMap[i][2] != 0; i++)
   {
     if (hdr2->datatype == typeMap[i][0])
     {
diff --git a/IO/Parallel/vtkNek5000Reader.cxx b/IO/Parallel/vtkNek5000Reader.cxx
index 212d7158452..343bf28542a 100644
--- a/IO/Parallel/vtkNek5000Reader.cxx
+++ b/IO/Parallel/vtkNek5000Reader.cxx
@@ -509,7 +509,7 @@ size_t vtkNek5000Reader::GetVariableNamesFromData(char* varTags)
       case 'S':
         for (int sloop = 0; sloop < numSFields; sloop++)
         {
-          char sname[4];
+          char sname[12];
           snprintf(sname, sizeof(sname), "S%02d", sloop + 1);
           this->PointDataArraySelection->AddArray(sname);
           this->var_names[this->num_vars] = strdup(sname);
diff --git a/Wrapping/Tools/vtkParseMain.c b/Wrapping/Tools/vtkParseMain.c
index 36711729ae9..cebc640021f 100644
--- a/Wrapping/Tools/vtkParseMain.c
+++ b/Wrapping/Tools/vtkParseMain.c
@@ -557,13 +557,13 @@ FileInfo* vtkParse_Main(int argc, char* argv[])
       if (!(hfile = vtkParse_FileOpen(hfilename, "r")))
       {
         fprintf(stderr, "Error opening hint file %s\n", hfilename);
-        fclose(ifile);
         vtkParse_FreeFile(data);
         exit(vtkParse_FinalizeMain(1));
       }
 
       /* fill in some blanks by using the hints file */
       vtkParse_ReadHints(data, hfile, stderr);
+      fclose(hfile);
     }
   }
 
-- 
GitLab