mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-09-16 17:22:55 +00:00
Correct Wstrict-overflow issues with gcc 5 and 6
This commit is contained in:
parent
b7ab0f1194
commit
916c0902cf
@ -128,6 +128,17 @@ elseif(VTKM_COMPILER_IS_ICC)
|
||||
elseif(VTKM_COMPILER_IS_GNU OR VTKM_COMPILER_IS_CLANG)
|
||||
set(cxx_flags -Wall -Wno-long-long -Wcast-align -Wconversion -Wchar-subscripts -Wextra -Wpointer-arith -Wformat -Wformat-security -Wshadow -Wunused-parameter -fno-common)
|
||||
set(cuda_flags -Xcudafe=--display_error_number -Xcompiler=-Wall,-Wno-unknown-pragmas,-Wno-unused-local-typedefs,-Wno-unused-local-typedefs,-Wno-unused-function,-Wno-long-long,-Wcast-align,-Wconversion,-Wchar-subscripts,-Wpointer-arith,-Wformat,-Wformat-security,-Wshadow,-Wunused-parameter,-fno-common)
|
||||
|
||||
#GCC 5, 6 don't properly handle strict-overflow suppression through pragma's.
|
||||
#Instead of suppressing around the location of the strict-overflow you
|
||||
#have to suppress around the entry point, or in vtk-m case the worklet
|
||||
#invocation site. This is incredibly tedious and has been fixed in gcc 7
|
||||
#
|
||||
if(VTKM_COMPILER_IS_GNU AND
|
||||
(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.99) AND
|
||||
(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 6.99) )
|
||||
list(APPEND cxx_flags -Wno-strict-overflow)
|
||||
endif()
|
||||
target_compile_options(vtkm_developer_flags
|
||||
INTERFACE $<BUILD_INTERFACE:$<$<COMPILE_LANGUAGE:CXX>:${cxx_flags}>>
|
||||
)
|
||||
|
@ -79,8 +79,10 @@
|
||||
// always greater than j ( or vice-versa ) and optimizes those call sites.
|
||||
// But when it does these optimizations is presumes that i and j will not
|
||||
// overflow and emits a Wstrict-overflow warning
|
||||
#ifdef VTKM_GCC
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wstrict-overflow"
|
||||
#endif
|
||||
|
||||
#include <vtkm/worklet/contourtree/ChainGraph.h>
|
||||
#include <vtkm/worklet/contourtree/ContourTree.h>
|
||||
|
Loading…
Reference in New Issue
Block a user