[vtk-developers] GCC 8.2 Warning in Testing
Bill Lorensen
bill.lorensen at gmail.com
Tue Feb 5 11:53:20 EST 2019
This warning was fixed in cmake 3.11.3.
Two solutions:
1) Require 3.11.3 or higher.
2) Users can add -Wstringop-overflow=0 to CMAKE_CXX_FLAGS
On Tue, Feb 5, 2019 at 7:15 AM Bill Lorensen <bill.lorensen at gmail.com> wrote:
>
> Folks,
>
> The following warnings are present with the gcc 8.2 compiler. They
> occur in the test cxx files.
>
> Building CXX object
> Common/Core/Testing/Cxx/CMakeFiles/vtkCommonCoreCxxTests.dir/vtkCommonCoreCxxTests.cxx.o
> In function ‘char* lowercase(const char*)’,
> inlined from ‘int main(int, char**)’ at
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:380:20:
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:332:10:
> warning: ‘char* strncpy(char*, const char*, size_t)’ specified
> bound depends on the length of the source argument
> [-Wstringop-overflow=]
> strncpy(new_string, string, stringSize);
> ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:
> In function ‘int main(int, char**)’:
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:326:38:
> note: length computed here
> stringSize = CM_CAST(size_t, strlen(string) + 1);
> ~~~~~~^~~~~~~~
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:73:47:
> note: in definition of macro ‘CM_CAST’
> #define CM_CAST(TYPE, EXPR) static_cast<TYPE>(EXPR)
> ^~~~
> In function ‘char* lowercase(const char*)’,
> inlined from ‘int main(int, char**)’ at
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:383:26:
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:332:10:
> warning: ‘char* strncpy(char*, const char*, size_t)’ specified
> bound depends on the length of the source argument
> [-Wstringop-overflow=]
> strncpy(new_string, string, stringSize);
> ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:
> In function ‘int main(int, char**)’:
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:326:38:
> note: length computed here
> stringSize = CM_CAST(size_t, strlen(string) + 1);
> ~~~~~~^~~~~~~~
> /home/lorensen/ProjectsGIT/VTKNewModules-linux/Common/Core/Testing/Cxx/vtkCommonCoreCxxTests.cxx:73:47:
> note: in definition of macro ‘CM_CAST’
> #define CM_CAST(TYPE, EXPR) static_cast<TYPE>(EXPR)
>
>
> --
> Unpaid intern in BillsParadise at noware dot com
--
Unpaid intern in BillsParadise at noware dot com
More information about the vtk-developers
mailing list