diff --git a/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.tcc b/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.tcc index e9e258455e..c253c2a824 100644 --- a/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.tcc +++ b/bindings/CXX11/adios2/cxx11/fstream/ADIOS2fstream.tcc @@ -15,6 +15,17 @@ #include "adios2/core/Stream.h" +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wstrict-aliasing" +#endif + namespace adios2 { @@ -182,4 +193,12 @@ std::vector fstream::read_attribute(const std::string &name, } // end namespace adios2 +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + #endif /* ADIOS2_BINDINGS_CXX11_CXX11_FSTREAM_ADIOS2FSTREAM_TCC_ */ diff --git a/bindings/Python/py11File.cpp b/bindings/Python/py11File.cpp index 096241a3f9..13dc12ae21 100644 --- a/bindings/Python/py11File.cpp +++ b/bindings/Python/py11File.cpp @@ -216,7 +216,7 @@ pybind11::array File::Read(const std::string &name, const Dims &start, m_Stream->Read(name, blockID).front(); pybind11::array_t pyArray(Dims{value.size()}); std::copy(value.begin(), value.end(), pyArray.mutable_data()); - return pyArray; + return std::move(pyArray); } return Read(name, start, count, 0, 0, blockID); @@ -270,7 +270,7 @@ pybind11::array File::ReadAttribute(const std::string &name, pybind11::array_t pyArray(attribute->m_Elements); \ m_Stream->ReadAttribute(name, pyArray.mutable_data(), variableName, \ separator); \ - return pyArray; \ + return std::move(pyArray); \ } ADIOS2_FOREACH_NUMPY_ATTRIBUTE_TYPE_1ARG(declare_type) #undef declare_type diff --git a/bindings/Python/py11File.tcc b/bindings/Python/py11File.tcc index d8fa1b5da8..e102c1bfdf 100644 --- a/bindings/Python/py11File.tcc +++ b/bindings/Python/py11File.tcc @@ -91,7 +91,7 @@ pybind11::array File::DoRead(const std::string &name, const Dims &_start, } m_Stream->m_Engine->Get(variable, pyArray.mutable_data(), Mode::Sync); - return pyArray; + return std::move(pyArray); } } // end namespace py11 diff --git a/cmake/FindPythonModule.cmake b/cmake/FindPythonModule.cmake index 4f9cf29f57..7a71efb78c 100644 --- a/cmake/FindPythonModule.cmake +++ b/cmake/FindPythonModule.cmake @@ -141,7 +141,7 @@ if(PythonModule_${module_NAME}_FOUND AND add_library(${module_NAME} INTERFACE) add_library(Python::${module_NAME} ALIAS ${module_NAME}) foreach(inc_var IN LISTS include_vars) - target_include_directories(${module_NAME} INTERFACE ${${inc_var}}) + target_include_directories(${module_NAME} SYSTEM INTERFACE ${${inc_var}}) endforeach() foreach(lib_var IN LISTS library_vars) target_link_libraries(${module_NAME} INTERFACE ${${lib_var}}) diff --git a/examples/basics/values/values_write.cpp b/examples/basics/values/values_write.cpp index 668cffa62c..99f27bb226 100644 --- a/examples/basics/values/values_write.cpp +++ b/examples/basics/values/values_write.cpp @@ -71,6 +71,8 @@ int main(int argc, char *argv[]) */ // 1. Global constant, same value across processes, constant over time adios2::Variable varNproc = io.DefineVariable("Nproc"); + (void)varNproc; // For the sake of the example we create an unused + // variable // 2. Global value, same value across processes, varying value over time adios2::Variable varStep = io.DefineVariable("Step"); diff --git a/examples/hello/bpReader/helloBPReader_nompi.cpp b/examples/hello/bpReader/helloBPReader_nompi.cpp index 776543d8a5..f8161897d0 100644 --- a/examples/hello/bpReader/helloBPReader_nompi.cpp +++ b/examples/hello/bpReader/helloBPReader_nompi.cpp @@ -36,7 +36,7 @@ int main(int argc, char *argv[]) bpIO.AvailableVariables(true); std::cout << "List of variables:"; - for (const auto variablePair : variables) + for (const auto &variablePair : variables) { std::cout << " " << variablePair.first; } diff --git a/examples/hello/bpWriter/helloBPSZ.cpp b/examples/hello/bpWriter/helloBPSZ.cpp index 3b24095e1e..a9943557ed 100644 --- a/examples/hello/bpWriter/helloBPSZ.cpp +++ b/examples/hello/bpWriter/helloBPSZ.cpp @@ -89,6 +89,9 @@ int main(int argc, char *argv[]) adios2::Attribute attribute = bpIO.DefineAttribute("SZ_accuracy", accuracy); + // To avoid compiling warnings + (void)attribute; + /** Engine derived class, spawned to start IO operations */ adios2::Engine bpFileWriter = bpIO.Open("SZexample.bp", adios2::Mode::Write); diff --git a/examples/hello/bpWriter/helloBPSubStreams.cpp b/examples/hello/bpWriter/helloBPSubStreams.cpp index 73e9412775..59ed618eef 100644 --- a/examples/hello/bpWriter/helloBPSubStreams.cpp +++ b/examples/hello/bpWriter/helloBPSubStreams.cpp @@ -67,6 +67,8 @@ int main(int argc, char *argv[]) adios2::Attribute attribute = bpIO.DefineAttribute("attrINT", -1); + (void)attribute; // For the sake of the example we create an unused + // variable /** Engine derived class, spawned to start IO operations */ adios2::Engine bpFileWriter = diff --git a/examples/hello/bpWriter/helloBPWriter.cpp b/examples/hello/bpWriter/helloBPWriter.cpp index e67c82ba92..6c5714b8e7 100644 --- a/examples/hello/bpWriter/helloBPWriter.cpp +++ b/examples/hello/bpWriter/helloBPWriter.cpp @@ -63,6 +63,8 @@ int main(int argc, char *argv[]) adios2::Variable bpString = bpIO.DefineVariable("bpString"); + (void)bpString; // For the sake of the example we create an unused + // variable std::string filename = "myVector_cpp.bp"; /** Engine derived class, spawned to start IO operations */ diff --git a/examples/hello/hdf5Reader/helloHDF5Reader_nompi.cpp b/examples/hello/hdf5Reader/helloHDF5Reader_nompi.cpp index a6f64151ad..9aab7f8b5f 100644 --- a/examples/hello/hdf5Reader/helloHDF5Reader_nompi.cpp +++ b/examples/hello/hdf5Reader/helloHDF5Reader_nompi.cpp @@ -93,7 +93,7 @@ int main(int argc, char *argv[]) const std::map variables = h5IO.AvailableVariables(); - for (const auto variablePair : variables) + for (const auto &variablePair : variables) { std::cout << "Name: " << variablePair.first; std::cout << std::endl; diff --git a/scripts/ci/cmake/ci-ascent-gcc.cmake b/scripts/ci/cmake/ci-ascent-gcc.cmake index 9e67411f6e..5d627975c3 100644 --- a/scripts/ci/cmake/ci-ascent-gcc.cmake +++ b/scripts/ci/cmake/ci-ascent-gcc.cmake @@ -14,9 +14,6 @@ env_module(load zeromq) set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) -set(ENV{CFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{CXXFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{FFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=OFF @@ -30,6 +27,10 @@ ADIOS2_USE_SST:BOOL=ON ADIOS2_USE_SZ:BOOL=OFF ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=OFF + +CMAKE_C_FLAGS:STRING=-Werror -Wno-error=builtin-declaration-mismatch +CMAKE_CXX_FLAGS:STRING=-Werror -Wno-error=builtin-declaration-mismatch +CMAKE_Fortran_FLAGS:STRING=-Werror -Wno-error=builtin-declaration-mismatch ") set(NCPUS 4) diff --git a/scripts/ci/cmake/ci-debian-sid-openmpi.cmake b/scripts/ci/cmake/ci-debian-sid-openmpi.cmake index 889a7ed5a0..ad1623109b 100644 --- a/scripts/ci/cmake/ci-debian-sid-openmpi.cmake +++ b/scripts/ci/cmake/ci-debian-sid-openmpi.cmake @@ -12,6 +12,7 @@ set(ENV{CXXFLAGS} "-Wno-deprecated -Wno-deprecated-declarations") set(dashboard_cache " ADIOS2_USE_EXTERNAL_DEPENDENCIES:BOOL=ON ADIOS2_USE_EXTERNAL_EVPATH:BOOL=OFF +ADIOS2_USE_EXTERNAL_NLOHMANN_JSON:BOOL=OFF ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON ADIOS2_USE_Fortran:BOOL=ON diff --git a/scripts/ci/cmake/ci-debian-sid.cmake b/scripts/ci/cmake/ci-debian-sid.cmake index a94eb99b92..b576832c0f 100644 --- a/scripts/ci/cmake/ci-debian-sid.cmake +++ b/scripts/ci/cmake/ci-debian-sid.cmake @@ -12,6 +12,7 @@ set(ENV{CXXFLAGS} "-Wno-deprecated -Wno-deprecated-declarations") set(dashboard_cache " ADIOS2_USE_EXTERNAL_DEPENDENCIES:BOOL=ON ADIOS2_USE_EXTERNAL_EVPATH:BOOL=OFF +ADIOS2_USE_EXTERNAL_NLOHMANN_JSON:BOOL=OFF ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON ADIOS2_USE_Fortran:BOOL=ON diff --git a/scripts/ci/cmake/ci-el7-gnu8-ohpc.cmake b/scripts/ci/cmake/ci-el7-gnu8-ohpc.cmake index 6bbc905f82..242bd3f2f1 100644 --- a/scripts/ci/cmake/ci-el7-gnu8-ohpc.cmake +++ b/scripts/ci/cmake/ci-el7-gnu8-ohpc.cmake @@ -10,9 +10,6 @@ env_module(load hdf5) set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) -set(ENV{CFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{CXXFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{FFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON @@ -25,6 +22,10 @@ ADIOS2_USE_Python:BOOL=ON ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch +CMAKE_CXX_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch +CMAKE_Fortran_FLAGS:STRING=-Werror -Wno-error=builtin-declaration-mismatch ") set(CTEST_CMAKE_GENERATOR "Unix Makefiles") diff --git a/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc-static.cmake b/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc-static.cmake index 581be161aa..90dc63a0e1 100644 --- a/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc-static.cmake +++ b/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc-static.cmake @@ -16,9 +16,6 @@ env_module(load py3-mpi4py) set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) -set(ENV{CFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{CXXFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{FFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") set(dashboard_cache " BUILD_SHARED_LIBS:BOOL=OFF @@ -36,6 +33,10 @@ ADIOS2_USE_SZ:BOOL=OFF ADIOS2_USE_ZeroMQ:STRING=OFF ADIOS2_USE_ZFP:BOOL=OFF +CMAKE_C_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch +CMAKE_CXX_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch +CMAKE_Fortran_FLAGS:STRING=-Werror -Wno-error=builtin-declaration-mismatch + MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") diff --git a/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc.cmake b/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc.cmake index 16f5ccf725..6e652110c2 100644 --- a/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc.cmake +++ b/scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc.cmake @@ -16,9 +16,6 @@ env_module(load py3-mpi4py) set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) -set(ENV{CFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{CXXFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{FFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON @@ -32,6 +29,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:BOOL=ON +CMAKE_C_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch +CMAKE_CXX_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch +CMAKE_Fortran_FLAGS:STRING=-Werror -Wno-error=builtin-declaration-mismatch + MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") diff --git a/scripts/ci/cmake/ci-el7-intel-ohpc.cmake b/scripts/ci/cmake/ci-el7-intel-ohpc.cmake index 6aec07e815..2124b4afbd 100644 --- a/scripts/ci/cmake/ci-el7-intel-ohpc.cmake +++ b/scripts/ci/cmake/ci-el7-intel-ohpc.cmake @@ -10,11 +10,10 @@ env_module(load hdf5) set(ENV{CC} icc) set(ENV{CXX} icpc) set(ENV{FC} ifort) -set(ENV{CFLAGS} -Werror) -set(ENV{CXXFLAGS} -Werror) -set(ENV{FFLAGS} "-warn errors") set(dashboard_cache " +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror ADIOS2_USE_BZip2:BOOL=ON ADIOS2_USE_Blosc:BOOL=ON ADIOS2_USE_DataMan:BOOL=ON diff --git a/scripts/ci/cmake/ci-el7-intel-openmpi-ohpc.cmake b/scripts/ci/cmake/ci-el7-intel-openmpi-ohpc.cmake index 696ca55aad..e95dfd9fae 100644 --- a/scripts/ci/cmake/ci-el7-intel-openmpi-ohpc.cmake +++ b/scripts/ci/cmake/ci-el7-intel-openmpi-ohpc.cmake @@ -16,9 +16,6 @@ env_module(load py3-mpi4py) set(ENV{CC} icc) set(ENV{CXX} icpc) set(ENV{FC} ifort) -set(ENV{CFLAGS} -Werror) -set(ENV{CXXFLAGS} -Werror) -set(ENV{FFLAGS} "-warn errors") set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON @@ -32,6 +29,10 @@ ADIOS2_USE_SZ:BOOL=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:STRING=ON +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror +CMAKE_Fortran_FLAGS:STRING=-warn errors + MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") diff --git a/scripts/ci/cmake/ci-el7-spack.cmake b/scripts/ci/cmake/ci-el7-spack.cmake index 6fcd590243..e69c6882a8 100644 --- a/scripts/ci/cmake/ci-el7-spack.cmake +++ b/scripts/ci/cmake/ci-el7-spack.cmake @@ -26,6 +26,9 @@ ADIOS2_USE_EXTERNAL_DEPENDENCIES:BOOL=ON ADIOS2_USE_EXTERNAL_GTEST:BOOL=OFF ADIOS2_USE_EXTERNAL_PUGIXML:BOOL=OFF +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror + MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") diff --git a/scripts/ci/cmake/ci-el7.cmake b/scripts/ci/cmake/ci-el7.cmake index 4ee0370760..b76f843cb9 100644 --- a/scripts/ci/cmake/ci-el7.cmake +++ b/scripts/ci/cmake/ci-el7.cmake @@ -3,9 +3,6 @@ set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) -set(ENV{CFLAGS} -Werror) -set(ENV{CXXFLAGS} -Werror) -set(ENV{FFLAGS} -Werror) set(dashboard_cache " ADIOS2_USE_BZip2:STRING=ON @@ -16,6 +13,9 @@ ADIOS2_USE_MPI:STRING=OFF ADIOS2_USE_Python:STRING=ON ADIOS2_USE_ZeroMQ:STRING=ON ADIOS2_USE_ZFP:STRING=ON + +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror ") set(CTEST_CMAKE_GENERATOR "Unix Makefiles") diff --git a/scripts/ci/cmake/ci-macos1014-xcode103-ninja.cmake b/scripts/ci/cmake/ci-macos1014-xcode103-ninja.cmake index b9f1eba04e..9b1a72c968 100644 --- a/scripts/ci/cmake/ci-macos1014-xcode103-ninja.cmake +++ b/scripts/ci/cmake/ci-macos1014-xcode103-ninja.cmake @@ -7,6 +7,9 @@ set(dashboard_cache " ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADIOS2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror ") set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.14") diff --git a/scripts/ci/cmake/ci-macos1014-xcode103-openmpi-make.cmake b/scripts/ci/cmake/ci-macos1014-xcode103-openmpi-make.cmake index 51ba0bfc31..6632850247 100644 --- a/scripts/ci/cmake/ci-macos1014-xcode103-openmpi-make.cmake +++ b/scripts/ci/cmake/ci-macos1014-xcode103-openmpi-make.cmake @@ -11,6 +11,9 @@ set(dashboard_cache " ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:STRING=ON +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror + MPIEXEC_EXTRA_FLAGS:STRING=--oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=4 ") diff --git a/scripts/ci/cmake/ci-macos1015-xcode111-make.cmake b/scripts/ci/cmake/ci-macos1015-xcode111-make.cmake index c422af45a0..48f12fd6d2 100644 --- a/scripts/ci/cmake/ci-macos1015-xcode111-make.cmake +++ b/scripts/ci/cmake/ci-macos1015-xcode111-make.cmake @@ -7,6 +7,9 @@ set(dashboard_cache " ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:BOOL=OFF ADISO2_USE_Python:BOOL=ON + +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror ") set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.15") diff --git a/scripts/ci/cmake/ci-macos1015-xcode111-openmpi-ninja.cmake b/scripts/ci/cmake/ci-macos1015-xcode111-openmpi-ninja.cmake index af2ffa94c8..561996515e 100644 --- a/scripts/ci/cmake/ci-macos1015-xcode111-openmpi-ninja.cmake +++ b/scripts/ci/cmake/ci-macos1015-xcode111-openmpi-ninja.cmake @@ -11,6 +11,9 @@ set(dashboard_cache " ADIOS2_USE_Fortran:BOOL=ON ADIOS2_USE_MPI:STRING=ON +CMAKE_C_FLAGS:STRING=-Wall -Werror +CMAKE_CXX_FLAGS:STRING=-Wall -Werror + MPIEXEC_EXTRA_FLAGS:STRING=--oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=4 ") diff --git a/scripts/ci/cmake/ci-ubuntu1804-spack.cmake b/scripts/ci/cmake/ci-ubuntu1804-spack.cmake index 2b833980d4..326a30c6f6 100644 --- a/scripts/ci/cmake/ci-ubuntu1804-spack.cmake +++ b/scripts/ci/cmake/ci-ubuntu1804-spack.cmake @@ -7,9 +7,6 @@ math(EXPR N2CPUS "${NCPUS}*2") set(ENV{CC} gcc) set(ENV{CXX} g++) set(ENV{FC} gfortran) -set(ENV{CFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{CXXFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") -set(ENV{FFLAGS} "-Werror -Wno-error=builtin-declaration-mismatch") set(dashboard_cache " ADIOS2_USE_BZip2:BOOL=ON @@ -29,6 +26,9 @@ ADIOS2_USE_EXTERNAL_DEPENDENCIES:BOOL=ON ADIOS2_USE_EXTERNAL_GTEST:BOOL=OFF ADIOS2_USE_EXTERNAL_PUGIXML:BOOL=OFF +CMAKE_C_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch +CMAKE_CXX_FLAGS:STRING=-Werror -Wall -Wno-error=builtin-declaration-mismatch + MPIEXEC_EXTRA_FLAGS:STRING=--allow-run-as-root --oversubscribe MPIEXEC_MAX_NUMPROCS:STRING=${N2CPUS} ") diff --git a/source/adios2/engine/bp5/BP5Reader.cpp b/source/adios2/engine/bp5/BP5Reader.cpp index b4e78c8f49..96c49197ba 100644 --- a/source/adios2/engine/bp5/BP5Reader.cpp +++ b/source/adios2/engine/bp5/BP5Reader.cpp @@ -24,8 +24,8 @@ namespace engine BP5Reader::BP5Reader(IO &io, const std::string &name, const Mode mode, helper::Comm comm) : Engine("BP5Reader", io, name, mode, std::move(comm)), m_MDFileManager(m_Comm), - m_FileMetaMetadataManager(m_Comm), m_DataFileManager(m_Comm), - m_MDIndexFileManager(m_Comm), m_ActiveFlagFileManager(m_Comm) + m_DataFileManager(m_Comm), m_MDIndexFileManager(m_Comm), + m_FileMetaMetadataManager(m_Comm), m_ActiveFlagFileManager(m_Comm) { PERFSTUBS_SCOPED_TIMER("BP5Reader::Open"); Init(); @@ -606,8 +606,8 @@ void BP5Reader::ParseMetadataIndex(format::BufferSTL &bufferSTL, for (uint64_t i = 0; i < m_WriterCount; i++) { size_t DataPosPos = ptrs[2] + sizeof(uint64_t) * i; - const uint64_t DataPos = helper::ReadValue( - buffer, DataPosPos, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, DataPosPos, + m_Minifooter.IsLittleEndian); } position += sizeof(uint64_t) * m_WriterCount; diff --git a/source/adios2/engine/bp5/BP5Writer.cpp b/source/adios2/engine/bp5/BP5Writer.cpp index 594d4a47a0..38963f280b 100644 --- a/source/adios2/engine/bp5/BP5Writer.cpp +++ b/source/adios2/engine/bp5/BP5Writer.cpp @@ -32,7 +32,7 @@ BP5Writer::BP5Writer(IO &io, const std::string &name, const Mode mode, helper::Comm comm) : Engine("BP5Writer", io, name, mode, std::move(comm)), m_BP5Serializer(), m_FileDataManager(m_Comm), m_FileMetadataManager(m_Comm), - m_FileMetaMetadataManager(m_Comm), m_FileMetadataIndexManager(m_Comm) + m_FileMetadataIndexManager(m_Comm), m_FileMetaMetadataManager(m_Comm) { PERFSTUBS_SCOPED_TIMER("BP5Writer::Open"); m_IO.m_ReadStreaming = false; @@ -459,7 +459,6 @@ void BP5Writer::InitTransports() m_FileMetadataManager.OpenFiles(m_MetadataFileNames, m_OpenMode, m_IO.m_TransportsParameters, false); - uint64_t WriterCount = m_Comm.Size(); m_FileMetadataIndexManager.OpenFiles( m_MetadataIndexFileNames, m_OpenMode, m_IO.m_TransportsParameters, false); @@ -640,6 +639,7 @@ void BP5Writer::InitBPBuffer() MakeHeader(bi, "Index Table", true); m_FileMetadataIndexManager.WriteFiles(bi.m_Buffer.data(), bi.m_Position); + // where each rank's data will end up m_FileMetadataIndexManager.WriteFiles((char *)Assignment.data(), sizeof(Assignment[0]) * diff --git a/source/adios2/engine/dataman/DataManMonitor.cpp b/source/adios2/engine/dataman/DataManMonitor.cpp index 7be79c4717..cbcc178bd8 100644 --- a/source/adios2/engine/dataman/DataManMonitor.cpp +++ b/source/adios2/engine/dataman/DataManMonitor.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include namespace adios2 { diff --git a/source/adios2/engine/dataman/DataManMonitor.h b/source/adios2/engine/dataman/DataManMonitor.h index e8d732e8a6..9a95cf496d 100644 --- a/source/adios2/engine/dataman/DataManMonitor.h +++ b/source/adios2/engine/dataman/DataManMonitor.h @@ -76,7 +76,6 @@ class DataManMonitor bool m_WriterThreading = false; bool m_Verbose = true; - bool m_JsonOutput = true; }; } // end namespace engine diff --git a/source/adios2/engine/hdf5/HDF5ReaderP.cpp b/source/adios2/engine/hdf5/HDF5ReaderP.cpp index 25bafada34..6e007ff9be 100644 --- a/source/adios2/engine/hdf5/HDF5ReaderP.cpp +++ b/source/adios2/engine/hdf5/HDF5ReaderP.cpp @@ -202,8 +202,8 @@ size_t HDF5ReaderP::ReadDataset(hid_t dataSetId, hid_t h5Type, size_t typesize = H5Tget_size(h5Type); char *val = (char *)(calloc(typesize, sizeof(char))); - hid_t ret2 = H5Dread(dataSetId, h5Type, memDataSpace, fileSpace, - H5P_DEFAULT, val); + H5Dread(dataSetId, h5Type, memDataSpace, fileSpace, H5P_DEFAULT, + val); ((std::string *)values)->assign(val, typesize); free(val); diff --git a/source/adios2/engine/ssc/SscHelper.cpp b/source/adios2/engine/ssc/SscHelper.cpp index b5cf30a550..d734862c97 100644 --- a/source/adios2/engine/ssc/SscHelper.cpp +++ b/source/adios2/engine/ssc/SscHelper.cpp @@ -421,7 +421,7 @@ void AggregateMetadata(const Buffer &localBuffer, Buffer &globalBuffer, globalBuffer.resize(globalSize + 10); std::vector displs(mpiSize); - for (size_t i = 1; i < mpiSize; ++i) + for (size_t i = 1; i < static_cast(mpiSize); ++i) { displs[i] = displs[i - 1] + localSizes[i - 1]; } @@ -438,7 +438,7 @@ void BroadcastMetadata(Buffer &globalBuffer, const int root, MPI_Comm comm) { int globalBufferSize = static_cast(globalBuffer.size()); MPI_Bcast(&globalBufferSize, 1, MPI_INT, root, comm); - if (globalBuffer.size() < globalBufferSize) + if (globalBuffer.size() < static_cast(globalBufferSize)) { globalBuffer.resize(globalBufferSize); } diff --git a/source/adios2/engine/ssc/SscReader.cpp b/source/adios2/engine/ssc/SscReader.cpp index 7701d2d21b..f82fb325e9 100644 --- a/source/adios2/engine/ssc/SscReader.cpp +++ b/source/adios2/engine/ssc/SscReader.cpp @@ -140,9 +140,12 @@ StepStatus SscReader::BeginStep(const StepMode stepMode, auto variable = m_IO.InquireVariable(v.name); \ if (variable) \ { \ - std::memcpy(&variable->m_Min, value.data(), value.size()); \ - std::memcpy(&variable->m_Max, value.data(), value.size()); \ - std::memcpy(&variable->m_Value, value.data(), value.size()); \ + std::memcpy(reinterpret_cast(&variable->m_Min), \ + value.data(), value.size()); \ + std::memcpy(reinterpret_cast(&variable->m_Max), \ + value.data(), value.size()); \ + std::memcpy(reinterpret_cast(&variable->m_Value), \ + value.data(), value.size()); \ } \ } ADIOS2_FOREACH_STDTYPE_1ARG(declare_type) diff --git a/source/adios2/engine/ssc/SscReader.tcc b/source/adios2/engine/ssc/SscReader.tcc index d787a4d763..8799b275c5 100644 --- a/source/adios2/engine/ssc/SscReader.tcc +++ b/source/adios2/engine/ssc/SscReader.tcc @@ -197,11 +197,13 @@ SscReader::BlocksInfoCommon(const Variable &variable, m_WriterDefinitionsLocked == false || m_ReaderSelectionsLocked == false) { - std::memcpy(&b.Value, v.value.data(), v.value.size()); + std::memcpy(reinterpret_cast(&b.Value), + v.value.data(), v.value.size()); } else { - std::memcpy(&b.Value, m_Buffer.data() + v.bufferStart, + std::memcpy(reinterpret_cast(&b.Value), + m_Buffer.data() + v.bufferStart, v.bufferCount); } } diff --git a/source/adios2/engine/sst/SstReader.cpp b/source/adios2/engine/sst/SstReader.cpp index a5aae390e6..f911edc778 100644 --- a/source/adios2/engine/sst/SstReader.cpp +++ b/source/adios2/engine/sst/SstReader.cpp @@ -486,7 +486,7 @@ void SstReader::Init() size_t *Start = NULL; \ size_t *Count = NULL; \ size_t DimCount = 0; \ - int NeedSync; \ + int NeedSync = 0; \ \ if (variable.m_SelectionType == \ adios2::SelectionType::BoundingBox) \ @@ -586,7 +586,7 @@ void SstReader::Init() } \ if (m_WriterMarshalMethod == SstMarshalBP5) \ { \ - bool need_sync = m_BP5Deserializer->QueueGet(variable, data); \ + m_BP5Deserializer->QueueGet(variable, data); \ } \ } ADIOS2_FOREACH_STDTYPE_1ARG(declare_gets) diff --git a/source/adios2/helper/adiosJSONcomplex.h b/source/adios2/helper/adiosJSONcomplex.h index e3a9e3ae92..496336ffb5 100644 --- a/source/adios2/helper/adiosJSONcomplex.h +++ b/source/adios2/helper/adiosJSONcomplex.h @@ -11,8 +11,8 @@ #ifndef ADIOS2_HELPER_ADIOSJSONCOMPLEX_H_ #define ADIOS2_HELPER_ADIOSJSONCOMPLEX_H_ -#include "nlohmann/json.hpp" #include +#include // JSON std::complex handling namespace std diff --git a/source/adios2/helper/adiosMemory.inl b/source/adios2/helper/adiosMemory.inl index 95a2889be1..41217f5af0 100644 --- a/source/adios2/helper/adiosMemory.inl +++ b/source/adios2/helper/adiosMemory.inl @@ -623,7 +623,7 @@ void Resize(std::vector &vec, const size_t dataSize, const std::string hint, // functions) and copies to the output buffer in blocks. the memory address // calculation complexity for copying each block is minimized to O(1), which is // independent of the number of dimensions. -static void NdCopyRecurDFSeqPadding(size_t curDim, const char *&inOvlpBase, +static inline void NdCopyRecurDFSeqPadding(size_t curDim, const char *&inOvlpBase, char *&outOvlpBase, Dims &inOvlpGapSize, Dims &outOvlpGapSize, Dims &ovlpCount, size_t &minContDim, size_t &blockSize) @@ -666,7 +666,7 @@ static void NdCopyRecurDFSeqPadding(size_t curDim, const char *&inOvlpBase, // each element is minimized to average O(1), which is independent of // the number of dimensions. -static void +static inline void NdCopyRecurDFSeqPaddingRevEndian(size_t curDim, const char *&inOvlpBase, char *&outOvlpBase, Dims &inOvlpGapSize, Dims &outOvlpGapSize, Dims &ovlpCount, @@ -707,7 +707,7 @@ NdCopyRecurDFSeqPaddingRevEndian(size_t curDim, const char *&inOvlpBase, // used for buffer of Column major // the memory address calculation complexity for copying each element is // minimized to average O(1), which is independent of the number of dimensions. -static void NdCopyRecurDFNonSeqDynamic(size_t curDim, const char *inBase, +static inline void NdCopyRecurDFNonSeqDynamic(size_t curDim, const char *inBase, char *outBase, Dims &inRltvOvlpSPos, Dims &outRltvOvlpSPos, Dims &inStride, Dims &outStride, Dims &ovlpCount, @@ -737,7 +737,7 @@ static void NdCopyRecurDFNonSeqDynamic(size_t curDim, const char *inBase, // The memory address calculation complexity for copying each element is // minimized to average O(1), which is independent of the number of dimensions. -static void NdCopyRecurDFNonSeqDynamicRevEndian( +static inline void NdCopyRecurDFNonSeqDynamicRevEndian( size_t curDim, const char *inBase, char *outBase, Dims &inRltvOvlpSPos, Dims &outRltvOvlpSPos, Dims &inStride, Dims &outStride, Dims &ovlpCount, size_t elmSize) @@ -763,7 +763,7 @@ static void NdCopyRecurDFNonSeqDynamicRevEndian( } } -static void NdCopyIterDFSeqPadding(const char *&inOvlpBase, char *&outOvlpBase, +static inline void NdCopyIterDFSeqPadding(const char *&inOvlpBase, char *&outOvlpBase, Dims &inOvlpGapSize, Dims &outOvlpGapSize, Dims &ovlpCount, size_t minContDim, size_t blockSize) @@ -794,7 +794,7 @@ static void NdCopyIterDFSeqPadding(const char *&inOvlpBase, char *&outOvlpBase, } } -static void NdCopyIterDFSeqPaddingRevEndian( +static inline void NdCopyIterDFSeqPaddingRevEndian( const char *&inOvlpBase, char *&outOvlpBase, Dims &inOvlpGapSize, Dims &outOvlpGapSize, Dims &ovlpCount, size_t minContDim, size_t blockSize, size_t elmSize, size_t numElmsPerBlock) @@ -830,7 +830,7 @@ static void NdCopyIterDFSeqPaddingRevEndian( } while (pos[curDim] == ovlpCount[curDim]); } } -static void NdCopyIterDFDynamic(const char *inBase, char *outBase, +static inline void NdCopyIterDFDynamic(const char *inBase, char *outBase, Dims &inRltvOvlpSPos, Dims &outRltvOvlpSPos, Dims &inStride, Dims &outStride, Dims &ovlpCount, size_t elmSize) @@ -867,7 +867,7 @@ static void NdCopyIterDFDynamic(const char *inBase, char *outBase, } } -static void NdCopyIterDFDynamicRevEndian(const char *inBase, char *outBase, +static inline void NdCopyIterDFDynamicRevEndian(const char *inBase, char *outBase, Dims &inRltvOvlpSPos, Dims &outRltvOvlpSPos, Dims &inStride, Dims &outStride, Dims &ovlpCount, diff --git a/source/adios2/helper/adiosNetwork.cpp b/source/adios2/helper/adiosNetwork.cpp index d966a10e6f..b35a19c0ed 100644 --- a/source/adios2/helper/adiosNetwork.cpp +++ b/source/adios2/helper/adiosNetwork.cpp @@ -25,7 +25,7 @@ #include //AvailableIpAddresses() ioctl #include //AvailableIpAddresses() close -#include +#include namespace adios2 { diff --git a/source/adios2/helper/adiosType.inl b/source/adios2/helper/adiosType.inl index 23eb7d02f8..a5ea08612e 100644 --- a/source/adios2/helper/adiosType.inl +++ b/source/adios2/helper/adiosType.inl @@ -179,7 +179,7 @@ inline std::string VectorToCSV(const std::vector &input) noexcept } std::ostringstream valueSS; - for (const auto value : input) + for (const auto& value : input) { valueSS << "\"" << value << "\", "; } @@ -200,7 +200,7 @@ inline std::string VectorToCSV(const std::vector &input) noexcept } \ \ std::ostringstream valueSS; \ - for (const auto value : input) \ + for (const auto& value : input) \ { \ const int valueInt = static_cast(value); \ valueSS << valueInt << ", "; \ @@ -223,7 +223,7 @@ inline std::string VectorToCSV(const std::vector &input) noexcept } std::ostringstream valueSS; - for (const auto value : input) + for (const auto& value : input) { valueSS << value << ", "; } diff --git a/source/adios2/helper/adiosXMLUtil.cpp b/source/adios2/helper/adiosXMLUtil.cpp index 74e0a9b990..61f49600e0 100644 --- a/source/adios2/helper/adiosXMLUtil.cpp +++ b/source/adios2/helper/adiosXMLUtil.cpp @@ -125,7 +125,7 @@ adios2::Params XMLGetParameters(const pugi::xml_node &node, ", " + hint); Params parameters; - for (const pugi::xml_node paramNode : node.children("parameter")) + for (const pugi::xml_node ¶mNode : node.children("parameter")) { const std::unique_ptr key = XMLAttribute("key", paramNode, errorMessage); diff --git a/source/adios2/toolkit/format/bp/BPBase.cpp b/source/adios2/toolkit/format/bp/BPBase.cpp index 0ec23a9a02..382b4a7ce4 100644 --- a/source/adios2/toolkit/format/bp/BPBase.cpp +++ b/source/adios2/toolkit/format/bp/BPBase.cpp @@ -393,7 +393,7 @@ BPBase::GetTransportIDs(const std::vector &transportsTypes) const std::vector transportsIDs; transportsIDs.reserve(transportsTypes.size()); - for (const std::string transportType : transportsTypes) + for (const std::string &transportType : transportsTypes) { transportsIDs.push_back(lf_GetTransportID(transportType)); } diff --git a/source/adios2/toolkit/format/bp/BPSerializer.tcc b/source/adios2/toolkit/format/bp/BPSerializer.tcc index ff89ad2abf..d8309088d1 100644 --- a/source/adios2/toolkit/format/bp/BPSerializer.tcc +++ b/source/adios2/toolkit/format/bp/BPSerializer.tcc @@ -98,8 +98,8 @@ void BPSerializer::UpdateIndexOffsetsCharacteristics(size_t ¤tPosition, std::vector &buffer) { const bool isLittleEndian = helper::IsLittleEndian(); - const uint8_t characteristicsCount = - helper::ReadValue(buffer, currentPosition, isLittleEndian); + + helper::ReadValue(buffer, currentPosition, isLittleEndian); const uint32_t characteristicsLength = helper::ReadValue(buffer, currentPosition, isLittleEndian); diff --git a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp index af9cec95fe..f7034a02d7 100644 --- a/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp +++ b/source/adios2/toolkit/format/bp/bp3/BP3Deserializer.cpp @@ -29,7 +29,7 @@ namespace format std::mutex BP3Deserializer::m_Mutex; BP3Deserializer::BP3Deserializer(helper::Comm const &comm) -: BP3Base(comm), BPBase(comm), m_Minifooter(3) +: BPBase(comm), BP3Base(comm), m_Minifooter(3) { } @@ -139,8 +139,7 @@ void BP3Deserializer::ParsePGIndex(const BufferSTL &bufferSTL, m_MetadataSet.DataPGCount = helper::ReadValue( buffer, position, m_Minifooter.IsLittleEndian); - const size_t length = helper::ReadValue( - buffer, position, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, position, m_Minifooter.IsLittleEndian); size_t localPosition = 0; @@ -210,10 +209,8 @@ void BP3Deserializer::ParseVariablesIndex(const BufferSTL &bufferSTL, m_Minifooter.VarsIndexStart, m_Minifooter.PGIndexStart, " BP3 variable index start < pg index start, in call to Open"); - const uint32_t count = helper::ReadValue( - buffer, position, m_Minifooter.IsLittleEndian); - const uint64_t length = helper::ReadValue( - buffer, position, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, position, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, position, m_Minifooter.IsLittleEndian); const size_t startPosition = position; size_t localPosition = 0; @@ -319,10 +316,8 @@ void BP3Deserializer::ParseAttributesIndex(const BufferSTL &bufferSTL, m_Minifooter.AttributesIndexStart, m_Minifooter.PGIndexStart, " BP3 attributes index start < pg index start, in call to Open"); - const uint32_t count = helper::ReadValue( - buffer, position, m_Minifooter.IsLittleEndian); - const uint64_t length = helper::ReadValue( - buffer, position, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, position, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, position, m_Minifooter.IsLittleEndian); const size_t startPosition = position; size_t localPosition = 0; diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp index 05728c9a41..d6a7ac8408 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp +++ b/source/adios2/toolkit/format/bp/bp4/BP4Deserializer.cpp @@ -33,7 +33,7 @@ namespace format std::mutex BP4Deserializer::m_Mutex; BP4Deserializer::BP4Deserializer(helper::Comm const &comm) -: BP4Base(comm), BPBase(comm), m_Minifooter(4) +: BPBase(comm), BP4Base(comm), m_Minifooter(4) { } @@ -335,8 +335,7 @@ void BP4Deserializer::ParseVariablesIndexPerStep(const BufferSTL &bufferSTL, const auto &buffer = bufferSTL.m_Buffer; size_t position = m_MetadataIndexTable[submetadatafileId][step][1]; - const uint32_t count = helper::ReadValue( - buffer, position, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, position, m_Minifooter.IsLittleEndian); const uint64_t length = helper::ReadValue( buffer, position, m_Minifooter.IsLittleEndian); @@ -528,8 +527,7 @@ void BP4Deserializer::ParseAttributesIndexPerStep(const BufferSTL &bufferSTL, const auto &buffer = bufferSTL.m_Buffer; size_t position = m_MetadataIndexTable[submetadatafileId][step][2]; - const uint32_t count = helper::ReadValue( - buffer, position, m_Minifooter.IsLittleEndian); + helper::ReadValue(buffer, position, m_Minifooter.IsLittleEndian); const uint64_t length = helper::ReadValue( buffer, position, m_Minifooter.IsLittleEndian); diff --git a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc index d86a63e684..99a8371327 100644 --- a/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc +++ b/source/adios2/toolkit/format/bp/bp4/BP4Serializer.tcc @@ -624,14 +624,12 @@ void BP4Serializer::PutBoundsRecord(const bool singleValue, static_cast(stats.SubBlockInfo.SubBlockSize); helper::InsertToBuffer(buffer, &subBlockSize); - const uint16_t N = - static_cast(stats.SubBlockInfo.Div.size()); for (auto const d : stats.SubBlockInfo.Div) { helper::InsertToBuffer(buffer, &d); } // insert min+max (alternating) elements (2*M values) - for (auto const m : stats.MinMaxs) + for (auto const &m : stats.MinMaxs) { helper::InsertToBuffer(buffer, &m); } @@ -678,14 +676,12 @@ void BP4Serializer::PutBoundsRecord(const bool singleValue, static_cast(stats.SubBlockInfo.SubBlockSize); helper::CopyToBuffer(buffer, position, &subBlockSize); - const uint16_t N = - static_cast(stats.SubBlockInfo.Div.size()); for (auto const d : stats.SubBlockInfo.Div) { helper::CopyToBuffer(buffer, position, &d); } // insert min+max (alternating) elements (2*M values) - for (auto const m : stats.MinMaxs) + for (auto const &m : stats.MinMaxs) { helper::CopyToBuffer(buffer, position, &m); } diff --git a/source/adios2/toolkit/format/bp5/BP5Base.cpp b/source/adios2/toolkit/format/bp5/BP5Base.cpp index 8a7b974e9a..9ec26e4cf7 100644 --- a/source/adios2/toolkit/format/bp5/BP5Base.cpp +++ b/source/adios2/toolkit/format/bp5/BP5Base.cpp @@ -25,7 +25,7 @@ namespace format void BP5Base::FFSBitfieldSet(struct FFSMetadataInfoStruct *MBase, int Bit) { - int Element = Bit / (sizeof(size_t) * 8); + size_t Element = Bit / (sizeof(size_t) * 8); int ElementBit = Bit % (sizeof(size_t) * 8); if (Element >= MBase->BitFieldCount) { @@ -40,7 +40,7 @@ void BP5Base::FFSBitfieldSet(struct FFSMetadataInfoStruct *MBase, int Bit) int BP5Base::FFSBitfieldTest(struct FFSMetadataInfoStruct *MBase, int Bit) { - int Element = Bit / (sizeof(size_t) * 8); + size_t Element = Bit / (sizeof(size_t) * 8); int ElementBit = Bit % (sizeof(size_t) * 8); if (Element >= MBase->BitFieldCount) { diff --git a/source/adios2/toolkit/format/bp5/BP5Deserializer.cpp b/source/adios2/toolkit/format/bp5/BP5Deserializer.cpp index 291388f8ca..c9a73335ce 100644 --- a/source/adios2/toolkit/format/bp5/BP5Deserializer.cpp +++ b/source/adios2/toolkit/format/bp5/BP5Deserializer.cpp @@ -13,6 +13,8 @@ #include "BP5Deserializer.h" #include "BP5Deserializer.tcc" +#include +#include #include #ifdef _WIN32 @@ -428,7 +430,7 @@ void BP5Deserializer::InstallMetaData(void *MetadataBlock, size_t BlockLen, { VarRec->PerWriterBlockStart[WriterRank] = 0; } - if (WriterRank < m_WriterCohortSize - 1) + if (WriterRank < static_cast(m_WriterCohortSize - 1)) { VarRec->PerWriterBlockStart[WriterRank + 1] = VarRec->PerWriterBlockStart[WriterRank] + @@ -599,7 +601,7 @@ bool BP5Deserializer::NeedWriter(BP5ArrayRequest Req, int i) return (NodeFirst <= Req.BlockID) && (NodeLast >= Req.BlockID); } // else Global case - for (int j = 0; j < Req.VarRec->DimCount; j++) + for (size_t j = 0; j < Req.VarRec->DimCount; j++) { size_t SelOffset = Req.Start[j]; size_t SelSize = Req.Count[j]; @@ -686,7 +688,7 @@ void BP5Deserializer::FinalizeGets(std::vector Requests) const size_t *SelOffset = NULL; const size_t *SelSize = Req.Count.data(); int ReqIndex = 0; - while (Requests[ReqIndex].WriterRank != i) + while (Requests[ReqIndex].WriterRank != static_cast(i)) ReqIndex++; char *IncomingData = (char *)Requests[ReqIndex].DestinationAddr + @@ -752,7 +754,7 @@ void BP5Deserializer::MapGlobalToLocalIndex(size_t Dims, const size_t *LocalOffsets, size_t *LocalIndex) { - for (int i = 0; i < Dims; i++) + for (size_t i = 0; i < Dims; i++) { LocalIndex[i] = GlobalIndex[i] - LocalOffsets[i]; } @@ -762,7 +764,7 @@ int BP5Deserializer::FindOffset(size_t Dims, const size_t *Size, const size_t *Index) { int Offset = 0; - for (int i = 0; i < Dims; i++) + for (size_t i = 0; i < Dims; i++) { Offset = Index[i] + (Size[i] * Offset); } @@ -771,12 +773,13 @@ int BP5Deserializer::FindOffset(size_t Dims, const size_t *Size, static int FindOffsetCM(size_t Dims, const size_t *Size, const size_t *Index) { - int Offset = 0; - for (int i = Dims - 1; i >= 0; i--) + size_t Offset = 0; + for (int i = static_cast(Dims - 1); i >= 0; i--) { Offset = Index[i] + (Size[i] * Offset); } - return Offset; + + return std::min(static_cast(INT_MAX), Offset); } #define MAX(x, y) (((x) > (y)) ? (x) : (y)) @@ -830,8 +833,8 @@ void BP5Deserializer::ExtractSelectionFromPartialRM( BlockSize = 1; OperantDims = Dims; - OperantElementSize = ElementSize; - for (int Dim = Dims - 1; Dim >= 0; Dim--) + OperantElementSize = static_cast(ElementSize); + for (int Dim = static_cast(Dims - 1); Dim >= 0; Dim--) { if ((GlobalDims[Dim] == PartialCounts[Dim]) && (SelectionCounts[Dim] == PartialCounts[Dim])) @@ -859,7 +862,7 @@ void BP5Deserializer::ExtractSelectionFromPartialRM( /* calculate first selected element and count */ BlockCount = 1; size_t *FirstIndex = (size_t *)malloc(Dims * sizeof(FirstIndex[0])); - for (int Dim = 0; Dim < Dims; Dim++) + for (size_t Dim = 0; Dim < Dims; Dim++) { size_t Left = MAX(PartialOffsets[Dim], SelectionOffsets[Dim]); size_t Right = MIN(PartialOffsets[Dim] + PartialCounts[Dim], @@ -911,7 +914,7 @@ void BP5Deserializer::ExtractSelectionFromPartialCM( BlockSize = 1; OperantElementSize = ElementSize; - for (int Dim = 0; Dim < Dims; Dim++) + for (size_t Dim = 0; Dim < Dims; Dim++) { if ((GlobalDims[Dim] == PartialCounts[Dim]) && (SelectionCounts[Dim] == PartialCounts[Dim])) @@ -947,7 +950,7 @@ void BP5Deserializer::ExtractSelectionFromPartialCM( /* calculate first selected element and count */ BlockCount = 1; size_t *FirstIndex = (size_t *)malloc(Dims * sizeof(FirstIndex[0])); - for (int Dim = 0; Dim < Dims; Dim++) + for (size_t Dim = 0; Dim < Dims; Dim++) { int Left = MAX(PartialOffsets[Dim], SelectionOffsets[Dim]); int Right = MIN(PartialOffsets[Dim] + PartialCounts[Dim], @@ -984,8 +987,8 @@ void BP5Deserializer::ExtractSelectionFromPartialCM( BP5Deserializer::BP5Deserializer(int WriterCount, bool WriterIsRowMajor, bool ReaderIsRowMajor) -: m_WriterCohortSize{WriterCount}, m_WriterIsRowMajor{WriterIsRowMajor}, - m_ReaderIsRowMajor{ReaderIsRowMajor} +: m_WriterIsRowMajor{WriterIsRowMajor}, m_ReaderIsRowMajor{ReaderIsRowMajor}, + m_WriterCohortSize{WriterCount} { FMContext Tmp = create_local_FMcontext(); ReaderFFSContext = create_FFSContext_FM(Tmp); diff --git a/source/adios2/toolkit/format/bp5/BP5Deserializer.h b/source/adios2/toolkit/format/bp5/BP5Deserializer.h index 0503bea936..aaf8b75f61 100644 --- a/source/adios2/toolkit/format/bp5/BP5Deserializer.h +++ b/source/adios2/toolkit/format/bp5/BP5Deserializer.h @@ -130,7 +130,6 @@ class BP5Deserializer : virtual public BP5Base int m_WriterCohortSize; std::unordered_map VarByName; std::unordered_map VarByKey; - FMContext LocalFMContext; // Ffsarrayrequest PendingVarRequests; std::vector MetadataBaseAddrs; diff --git a/source/adios2/toolkit/format/bp5/BP5Deserializer.tcc b/source/adios2/toolkit/format/bp5/BP5Deserializer.tcc index d52e6f0d9f..0e4e6a7e42 100644 --- a/source/adios2/toolkit/format/bp5/BP5Deserializer.tcc +++ b/source/adios2/toolkit/format/bp5/BP5Deserializer.tcc @@ -43,7 +43,7 @@ BP5Deserializer::BlocksInfo(const core::Variable &variable, int FieldOffset = ControlArray[i].FieldOffset; void *field_data = (char *)BaseData + FieldOffset; MetaArrayRec *meta_base = (MetaArrayRec *)field_data; - for (int i = 0; i < VarRec->PerWriterBlockCount[WriterRank]; i++) + for (size_t i = 0; i < VarRec->PerWriterBlockCount[WriterRank]; i++) { size_t *Offsets = NULL; if (meta_base->Offsets) @@ -58,7 +58,7 @@ BP5Deserializer::BlocksInfo(const core::Variable &variable, size_t *Count = meta_base->Count; if (Shape) { - for (int i = 0; i < DimCount; i++) + for (size_t i = 0; i < DimCount; i++) { VecShape.push_back(Shape[i]); VecStart.push_back(Start[i]); @@ -69,7 +69,7 @@ BP5Deserializer::BlocksInfo(const core::Variable &variable, { VecShape = {}; VecStart = {}; - for (int i = 0; i < DimCount; i++) + for (size_t i = 0; i < DimCount; i++) { VecCount.push_back(Count[i]); } diff --git a/source/adios2/toolkit/format/bp5/BP5Serializer.cpp b/source/adios2/toolkit/format/bp5/BP5Serializer.cpp index 4d5bb01100..12d5510f7a 100644 --- a/source/adios2/toolkit/format/bp5/BP5Serializer.cpp +++ b/source/adios2/toolkit/format/bp5/BP5Serializer.cpp @@ -49,7 +49,8 @@ BP5Serializer::~BP5Serializer() void BP5Serializer::Init() { - memset(&Info, 0, sizeof(Info)); + // Re-init Info to zero + Info = FFSWriterMarshalBase(); Info.RecCount = 0; Info.RecList = (BP5Serializer::BP5WriterRec)malloc(sizeof(Info.RecList[0])); Info.MetaFieldCount = 0; diff --git a/source/adios2/toolkit/format/bp5/BP5Serializer.h b/source/adios2/toolkit/format/bp5/BP5Serializer.h index 23e79b8d53..c9ec971eeb 100644 --- a/source/adios2/toolkit/format/bp5/BP5Serializer.h +++ b/source/adios2/toolkit/format/bp5/BP5Serializer.h @@ -100,7 +100,7 @@ class BP5Serializer : virtual public BP5Base { int RecCount = 0; BP5WriterRec RecList = NULL; - FMContext LocalFMContext; + FMContext LocalFMContext = {0}; int MetaFieldCount = 0; FMFieldList MetaFields = NULL; FMFormat MetaFormat; diff --git a/source/adios2/toolkit/format/dataman/DataManSerializer.h b/source/adios2/toolkit/format/dataman/DataManSerializer.h index 64179b43c4..5699604b14 100644 --- a/source/adios2/toolkit/format/dataman/DataManSerializer.h +++ b/source/adios2/toolkit/format/dataman/DataManSerializer.h @@ -19,7 +19,7 @@ #include #include -#include +#include // A - Address // C - Count diff --git a/source/adios2/toolkit/format/dataman/DataManSerializer.tcc b/source/adios2/toolkit/format/dataman/DataManSerializer.tcc index da2db22e13..eda90e798d 100644 --- a/source/adios2/toolkit/format/dataman/DataManSerializer.tcc +++ b/source/adios2/toolkit/format/dataman/DataManSerializer.tcc @@ -460,7 +460,8 @@ int DataManSerializer::GetData(T *outputData, const std::string &varName, } if (j.shape.empty() or (j.shape.size() == 1 and j.shape[0] == 1)) { - std::memcpy(outputData, input_data, sizeof(T)); + std::memcpy(reinterpret_cast(outputData), input_data, + sizeof(T)); } } } diff --git a/source/adios2/toolkit/query/JsonWorker.cpp b/source/adios2/toolkit/query/JsonWorker.cpp index 10c4d0caec..c538d69fb7 100644 --- a/source/adios2/toolkit/query/JsonWorker.cpp +++ b/source/adios2/toolkit/query/JsonWorker.cpp @@ -1,5 +1,6 @@ #include "Worker.h" -#include + +#include namespace adios2 { diff --git a/source/adios2/toolkit/query/XmlWorker.cpp b/source/adios2/toolkit/query/XmlWorker.cpp index dbecccabcf..e270d95cab 100644 --- a/source/adios2/toolkit/query/XmlWorker.cpp +++ b/source/adios2/toolkit/query/XmlWorker.cpp @@ -169,7 +169,7 @@ void XmlWorker::ConstructTree(RangeTree &host, const pugi::xml_node &node) std::string relationStr = adios2::helper::XMLAttribute("value", node, "in query")->value(); host.SetRelation(adios2::query::strToRelation(relationStr)); - for (const pugi::xml_node rangeNode : node.children("range")) + for (const pugi::xml_node &rangeNode : node.children("range")) { std::string valStr = adios2::helper::XMLAttribute("value", rangeNode, "in query") @@ -181,7 +181,7 @@ void XmlWorker::ConstructTree(RangeTree &host, const pugi::xml_node &node) host.AddLeaf(adios2::query::strToQueryOp(opStr), valStr); } - for (const pugi::xml_node opNode : node.children("op")) + for (const pugi::xml_node &opNode : node.children("op")) { adios2::query::RangeTree subNode; ConstructTree(subNode, opNode); diff --git a/source/adios2/toolkit/sst/dp/rdma_dp.c b/source/adios2/toolkit/sst/dp/rdma_dp.c index a6060b38bf..d54480b7cd 100644 --- a/source/adios2/toolkit/sst/dp/rdma_dp.c +++ b/source/adios2/toolkit/sst/dp/rdma_dp.c @@ -1139,7 +1139,7 @@ static void *RdmaReadRemoteMemory(CP_Services Svcs, DP_RS_Stream Stream_v, size_t Length, void *Buffer, void *DP_TimestepInfo) { - RdmaCompletionHandle ret; + RdmaCompletionHandle ret = {0}; Rdma_RS_Stream RS_Stream = (Rdma_RS_Stream)Stream_v; RdmaBufferHandle Info = (RdmaBufferHandle)DP_TimestepInfo; RdmaStepLogEntry StepLog; @@ -1539,9 +1539,10 @@ static void RdmaDestroyReader(CP_Services Svcs, DP_RS_Stream RS_Stream_v) static void RdmaDestroyWriterPerReader(CP_Services Svcs, DP_WSR_Stream WSR_Stream_v) { - Rdma_WSR_Stream WSR_Stream = (Rdma_WSR_Stream)WSR_Stream_v; + Rdma_WSR_Stream WSR_Stream = {0}; + memcpy(&WSR_Stream, &WSR_Stream_v, sizeof(Rdma_WSR_Stream)); Rdma_WS_Stream WS_Stream = WSR_Stream->WS_Stream; - RdmaWriterContactInfo WriterContactInfo; + RdmaWriterContactInfo WriterContactInfo = {0}; pthread_mutex_lock(&wsr_mutex); for (int i = 0; i < WS_Stream->ReaderCount; i++) @@ -2067,7 +2068,7 @@ static void PullSelection(CP_Services Svcs, Rdma_WSR_Stream Stream) Rdma_WS_Stream WS_Stream = Stream->WS_Stream; FabricState Fabric = WS_Stream->Fabric; RdmaBuffer ReaderRoll = (RdmaBuffer)Stream->ReaderRoll->Handle.Block; - struct _RdmaBuffer ReqBuffer = {0}; + struct _RdmaBuffer ReqBuffer = {{0}}; struct fi_cq_data_entry CQEntry = {0}; struct fid_mr *rrmr = NULL; void *rrdesc = NULL; diff --git a/source/adios2/toolkit/zmq/zmqreqrep/ZmqReqRep.h b/source/adios2/toolkit/zmq/zmqreqrep/ZmqReqRep.h index 6afa8d266f..56cae2b2aa 100644 --- a/source/adios2/toolkit/zmq/zmqreqrep/ZmqReqRep.h +++ b/source/adios2/toolkit/zmq/zmqreqrep/ZmqReqRep.h @@ -45,7 +45,6 @@ class ZmqReqRep void SendReply(const void *reply, const size_t size); private: - int m_Verbosity = 0; int m_Timeout; std::vector m_ReceiverBuffer; diff --git a/source/h5vol/H5VolError.h b/source/h5vol/H5VolError.h index 1437bac82a..824a45f5ad 100644 --- a/source/h5vol/H5VolError.h +++ b/source/h5vol/H5VolError.h @@ -11,7 +11,12 @@ void *safe_malloc(size_t n, unsigned long line); #define SAFE_MALLOC(n) safe_malloc(n, __LINE__) void safe_free(void *p); -#define SAFE_FREE(ptr) safe_free(ptr) + +#ifdef __cplusplus +#define SAFE_FREE(ptr) safe_free(reinterpret_cast(ptr)) +#else +#define SAFE_FREE(ptr) safe_free((void *)(ptr)) +#endif void *safe_ralloc(void *ptr, size_t newsize, unsigned long line); #define SAFE_REALLOC(ptr, newsize) safe_ralloc(ptr, newsize, __LINE__) diff --git a/source/utils/bpls/bpls.cpp b/source/utils/bpls/bpls.cpp index 74d0b8e8af..ac28a48bfc 100644 --- a/source/utils/bpls/bpls.cpp +++ b/source/utils/bpls/bpls.cpp @@ -2416,7 +2416,8 @@ bool matchesAMask(const char *name) if (excode == 0 && // matches (pmatch[0].rm_so == 0 || pmatch[0].rm_so == startpos) && // from the beginning - pmatch[0].rm_eo == strlen(name) // to the very end of the name + static_cast(pmatch[0].rm_eo) == + strlen(name) // to the very end of the name ) #else bool matches = std::regex_match(name, varregex[i]); diff --git a/testing/adios2/engine/bp/TestBPInquireVariableException.cpp b/testing/adios2/engine/bp/TestBPInquireVariableException.cpp index f47f7647c7..3dca82bbb0 100644 --- a/testing/adios2/engine/bp/TestBPInquireVariableException.cpp +++ b/testing/adios2/engine/bp/TestBPInquireVariableException.cpp @@ -47,9 +47,9 @@ TEST_F(ADIOSInquireVariableException, Read) auto var1 = io_w.DefineVariable("variable1", shape, start, count); - for (int32_t step = 0; step < NSteps; ++step) + for (size_t step = 0; step < NSteps; ++step) { - std::vector Ints(10, step); + std::vector Ints(10, static_cast(step)); writer.BeginStep(); writer.Put(var1, Ints.data()); writer.EndStep(); @@ -61,7 +61,7 @@ TEST_F(ADIOSInquireVariableException, Read) auto reader = io_r.Open(filename, adios2::Mode::Read); auto var = io_r.InquireVariable("variable1"); - for (int32_t step = 0; step < NSteps; step++) + for (size_t step = 0; step < NSteps; step++) { reader.BeginStep(); std::vector myInts; diff --git a/testing/adios2/engine/bp/TestBPWriteAppendReadADIOS2.cpp b/testing/adios2/engine/bp/TestBPWriteAppendReadADIOS2.cpp index ef7288f05a..122a72743f 100644 --- a/testing/adios2/engine/bp/TestBPWriteAppendReadADIOS2.cpp +++ b/testing/adios2/engine/bp/TestBPWriteAppendReadADIOS2.cpp @@ -15,6 +15,20 @@ #include "../SmallTestData.h" +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-aliasing" +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wstrict-aliasing" +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + std::string engineName; // comes from command line class BPWriteAppendReadTestADIOS2 : public ::testing::Test @@ -733,3 +747,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/engine/bp/TestBPWriteProfilingJSON.cpp b/testing/adios2/engine/bp/TestBPWriteProfilingJSON.cpp index c50f2f1df9..389fb1d06a 100644 --- a/testing/adios2/engine/bp/TestBPWriteProfilingJSON.cpp +++ b/testing/adios2/engine/bp/TestBPWriteProfilingJSON.cpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include "../SmallTestData.h" diff --git a/testing/adios2/engine/bp/TestBPWriteReadAsStreamADIOS2.cpp b/testing/adios2/engine/bp/TestBPWriteReadAsStreamADIOS2.cpp index a0b868afcf..c887d317ca 100644 --- a/testing/adios2/engine/bp/TestBPWriteReadAsStreamADIOS2.cpp +++ b/testing/adios2/engine/bp/TestBPWriteReadAsStreamADIOS2.cpp @@ -14,6 +14,18 @@ #include "../SmallTestData.h" +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + std::string engineName; // comes from command line class BPWriteReadAsStreamTestADIOS2 : public ::testing::Test @@ -1070,3 +1082,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/engine/bp/TestBPWriteReadAttributesMultirank.cpp b/testing/adios2/engine/bp/TestBPWriteReadAttributesMultirank.cpp index baddebc521..564fe34733 100644 --- a/testing/adios2/engine/bp/TestBPWriteReadAttributesMultirank.cpp +++ b/testing/adios2/engine/bp/TestBPWriteReadAttributesMultirank.cpp @@ -17,6 +17,18 @@ #include +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + std::string engineName; // comes from command line class BPWriteReadAttributeTestMultirank : public ::testing::Test @@ -137,3 +149,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/engine/bp/TestBPWriteReadLocalVariables.cpp b/testing/adios2/engine/bp/TestBPWriteReadLocalVariables.cpp index 1feaeb246e..9dee0ba78b 100644 --- a/testing/adios2/engine/bp/TestBPWriteReadLocalVariables.cpp +++ b/testing/adios2/engine/bp/TestBPWriteReadLocalVariables.cpp @@ -15,6 +15,18 @@ #include "../SmallTestData.h" +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + std::string engineName; // comes from command line class BPWriteReadLocalVariables : public ::testing::Test @@ -1948,3 +1960,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/engine/bp/TestBPWriteReadVariableSpan.cpp b/testing/adios2/engine/bp/TestBPWriteReadVariableSpan.cpp index f59d273186..14ca78080c 100644 --- a/testing/adios2/engine/bp/TestBPWriteReadVariableSpan.cpp +++ b/testing/adios2/engine/bp/TestBPWriteReadVariableSpan.cpp @@ -14,6 +14,18 @@ #include "../SmallTestData.h" +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + std::string engineName; // comes from command line class BPWriteReadSpan : public ::testing::Test @@ -1535,3 +1547,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/engine/bp/operations/TestBPWriteReadSzComplex.cpp b/testing/adios2/engine/bp/operations/TestBPWriteReadSzComplex.cpp index 6ef77aeaa3..49944ff309 100644 --- a/testing/adios2/engine/bp/operations/TestBPWriteReadSzComplex.cpp +++ b/testing/adios2/engine/bp/operations/TestBPWriteReadSzComplex.cpp @@ -179,7 +179,7 @@ void Writer(const Dims &shape, const Dims &start, const Dims &count, bpDComplexes.AddOperation(compressor, {{"accuracy", accuracy}}); io.DefineAttribute("AttInt", 110); adios2::Engine writerEngine = io.Open(fileName, adios2::Mode::Write); - for (int i = 0; i < steps; ++i) + for (int i = 0; i < static_cast(steps); ++i) { writerEngine.BeginStep(); GenData(myChars, i, start, count, shape); diff --git a/testing/adios2/engine/bp/operations/TestBPWriteReadZfpComplex.cpp b/testing/adios2/engine/bp/operations/TestBPWriteReadZfpComplex.cpp index 930a6a3e81..ffb1aad7c7 100644 --- a/testing/adios2/engine/bp/operations/TestBPWriteReadZfpComplex.cpp +++ b/testing/adios2/engine/bp/operations/TestBPWriteReadZfpComplex.cpp @@ -179,7 +179,7 @@ void Writer(const Dims &shape, const Dims &start, const Dims &count, bpDComplexes.AddOperation(zfpOp, {{"accuracy", accuracy}}); io.DefineAttribute("AttInt", 110); adios2::Engine writerEngine = io.Open(fileName, adios2::Mode::Write); - for (int i = 0; i < steps; ++i) + for (int i = 0; i < static_cast(steps); ++i) { writerEngine.BeginStep(); GenData(myChars, i, start, count, shape); diff --git a/testing/adios2/engine/bp/operations/TestBPWriteReadZfpConfig.cpp b/testing/adios2/engine/bp/operations/TestBPWriteReadZfpConfig.cpp index 5adcc94a25..ab7751e3af 100644 --- a/testing/adios2/engine/bp/operations/TestBPWriteReadZfpConfig.cpp +++ b/testing/adios2/engine/bp/operations/TestBPWriteReadZfpConfig.cpp @@ -13,6 +13,18 @@ #include +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic ignored "-Wunused-but-set-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + #define str_helper(X) #X #define mystr(X) str_helper(X) @@ -900,3 +912,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/engine/dataman/TestDataMan2DSz.cpp b/testing/adios2/engine/dataman/TestDataMan2DSz.cpp index 07cb00d16d..65f576a198 100644 --- a/testing/adios2/engine/dataman/TestDataMan2DSz.cpp +++ b/testing/adios2/engine/dataman/TestDataMan2DSz.cpp @@ -142,7 +142,7 @@ void DataManWriterP2PMemSelect(const Dims &shape, const Dims &start, dataManIO.DefineAttribute("AttInt", 110); adios2::Engine dataManWriter = dataManIO.Open("stream", adios2::Mode::Write); - for (int i = 0; i < steps; ++i) + for (size_t i = 0; i < steps; ++i) { dataManWriter.BeginStep(); GenData(myChars, i, start, count, shape); diff --git a/testing/adios2/engine/dataman/TestDataMan2DZfp.cpp b/testing/adios2/engine/dataman/TestDataMan2DZfp.cpp index 0ee1b26c48..a38c8d4566 100644 --- a/testing/adios2/engine/dataman/TestDataMan2DZfp.cpp +++ b/testing/adios2/engine/dataman/TestDataMan2DZfp.cpp @@ -146,7 +146,7 @@ void DataManWriterP2PMemSelect(const Dims &shape, const Dims &start, dataManIO.DefineAttribute("AttInt", 110); adios2::Engine dataManWriter = dataManIO.Open("stream", adios2::Mode::Write); - for (int i = 0; i < steps; ++i) + for (size_t i = 0; i < steps; ++i) { dataManWriter.BeginStep(); GenData(myChars, i, start, count, shape); diff --git a/testing/adios2/engine/skeleton/TestSkeletonReader.cpp b/testing/adios2/engine/skeleton/TestSkeletonReader.cpp index cdf30bac5a..05136746a9 100644 --- a/testing/adios2/engine/skeleton/TestSkeletonReader.cpp +++ b/testing/adios2/engine/skeleton/TestSkeletonReader.cpp @@ -113,9 +113,11 @@ int main(int argc, char *argv[]) adios2::Variable varArray = io.DefineVariable( "myArray", {gndx}, {gndx / (size_t)nproc}, {gndx / (size_t)nproc}); + (void)varArray; adios2::Variable varSyncString = io.DefineVariable("mySyncString"); + (void)varSyncString; } else { diff --git a/testing/adios2/engine/staging-common/ParseArgs.h b/testing/adios2/engine/staging-common/ParseArgs.h index d4fb4aa80a..30671f8f9d 100644 --- a/testing/adios2/engine/staging-common/ParseArgs.h +++ b/testing/adios2/engine/staging-common/ParseArgs.h @@ -77,7 +77,7 @@ static adios2::Params ParseEngineParams(std::string Input) return Ret; } -static void ParseArgs(int argc, char **argv) +void ParseArgs(int argc, char **argv) { int bare_arg = 0; while (argc > 1) diff --git a/testing/adios2/engine/table/TestTableMultiRank.cpp b/testing/adios2/engine/table/TestTableMultiRank.cpp index 0c07706766..0fd03462f5 100644 --- a/testing/adios2/engine/table/TestTableMultiRank.cpp +++ b/testing/adios2/engine/table/TestTableMultiRank.cpp @@ -103,7 +103,7 @@ void Reader(const Dims &shape, const Dims &start, const Dims &count, std::vector> myComplexes(datasize); std::vector> myDComplexes(datasize); - adios2::StepStatus status = readerEngine.BeginStep(); + readerEngine.BeginStep(); const auto &vars = io.AvailableVariables(); std::cout << "All available variables : "; for (const auto &var : vars) diff --git a/testing/adios2/engine/table/TestTableSingleRank.cpp b/testing/adios2/engine/table/TestTableSingleRank.cpp index 3fc5b1108d..9edc64a6cd 100644 --- a/testing/adios2/engine/table/TestTableSingleRank.cpp +++ b/testing/adios2/engine/table/TestTableSingleRank.cpp @@ -106,7 +106,7 @@ void Reader(const Dims &shape, const Dims &start, const Dims &count, std::vector> myComplexes(datasize); std::vector> myDComplexes(datasize); - adios2::StepStatus status = readerEngine.BeginStep(); + readerEngine.BeginStep(); const auto &vars = io.AvailableVariables(); std::cout << "All available variables : "; for (const auto &var : vars) diff --git a/testing/adios2/interface/TestADIOSDefineAttribute.cpp b/testing/adios2/interface/TestADIOSDefineAttribute.cpp index 4ae737af9a..eeb4f30f5f 100644 --- a/testing/adios2/interface/TestADIOSDefineAttribute.cpp +++ b/testing/adios2/interface/TestADIOSDefineAttribute.cpp @@ -749,7 +749,7 @@ TEST_F(ADIOSDefineAttributeTest, VariableException) "myVar1", separator), std::invalid_argument); - auto var = io.DefineVariable("myVar1"); + io.DefineVariable("myVar1"); EXPECT_NO_THROW( io.DefineAttribute("Hello Value", "Value", "myVar1")); diff --git a/testing/adios2/interface/TestADIOSInterface.cpp b/testing/adios2/interface/TestADIOSInterface.cpp index d5192cc9a3..56e8e646de 100644 --- a/testing/adios2/interface/TestADIOSInterface.cpp +++ b/testing/adios2/interface/TestADIOSInterface.cpp @@ -28,9 +28,7 @@ TEST(ADIOSInterface, BADConfigFile) EXPECT_THROW(adios2::ADIOS adios("notthere.xml"); adios2::IO io = adios.DeclareIO("TestIO"); - adios2::Engine engine = - io.Open("test.bp", adios2::Mode::Write); - , std::logic_error); + io.Open("test.bp", adios2::Mode::Write);, std::logic_error); } /** ADIOS2_CXX11_API diff --git a/testing/adios2/interface/TestADIOSInterfaceWrite.cpp b/testing/adios2/interface/TestADIOSInterfaceWrite.cpp index 631f592393..a0d91817a1 100644 --- a/testing/adios2/interface/TestADIOSInterfaceWrite.cpp +++ b/testing/adios2/interface/TestADIOSInterfaceWrite.cpp @@ -7,6 +7,17 @@ #include +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + class ADIOSInterfaceWriteTest : public ::testing::Test { public: @@ -634,3 +645,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/performance/manyvars/TestManyVars.cpp b/testing/adios2/performance/manyvars/TestManyVars.cpp index cf8c1e22c3..93e0d4bdf2 100644 --- a/testing/adios2/performance/manyvars/TestManyVars.cpp +++ b/testing/adios2/performance/manyvars/TestManyVars.cpp @@ -187,7 +187,7 @@ class TestManyVars : public ::testing::TestWithParam digit++; } - char fmt[16]; + char fmt[32]; sprintf(fmt, "v%%%d.%dd", digit, digit); for (size_t i = 0; i < NVARS; i++) { diff --git a/testing/adios2/xml/TestXMLConfig.cpp b/testing/adios2/xml/TestXMLConfig.cpp index a6f5b70ed8..043a6be906 100644 --- a/testing/adios2/xml/TestXMLConfig.cpp +++ b/testing/adios2/xml/TestXMLConfig.cpp @@ -7,6 +7,17 @@ #include +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + #define str_helper(X) #X #define str(X) str_helper(X) @@ -143,3 +154,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/adios2/yaml/TestYAMLConfig.cpp b/testing/adios2/yaml/TestYAMLConfig.cpp index 1473b33e87..17f668947c 100644 --- a/testing/adios2/yaml/TestYAMLConfig.cpp +++ b/testing/adios2/yaml/TestYAMLConfig.cpp @@ -7,6 +7,17 @@ #include +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunused-variable" +#endif + #define str_helper(X) #X #define str(X) str_helper(X) @@ -113,3 +124,11 @@ int main(int argc, char **argv) return result; } + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif diff --git a/testing/install/CMakeLists.txt b/testing/install/CMakeLists.txt index e039080036..cd8481d942 100644 --- a/testing/install/CMakeLists.txt +++ b/testing/install/CMakeLists.txt @@ -82,6 +82,17 @@ set_tests_properties(Install.Setup PROPERTIES FIXTURES_SETUP Install ) +# Remove -Wall -Werror in this scope +if(CMAKE_C_FLAGS) + string(REPLACE "-Wall" " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) + string(REPLACE "-Werror" " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) +endif() + +if(CMAKE_CXX_FLAGS) + string(REPLACE "-Wall" " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) + string(REPLACE "-Werror" " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) +endif() + add_install_cmake_test(C) add_install_cmake_test(CXX11) if(ADIOS2_HAVE_Fortran) diff --git a/thirdparty/nlohmann_json/nlohmann_json/CMakeLists.txt b/thirdparty/nlohmann_json/nlohmann_json/CMakeLists.txt index b3ed049b42..1014e73978 100644 --- a/thirdparty/nlohmann_json/nlohmann_json/CMakeLists.txt +++ b/thirdparty/nlohmann_json/nlohmann_json/CMakeLists.txt @@ -1,7 +1,14 @@ add_library(nlohmann_json INTERFACE) target_sources(nlohmann_json INTERFACE - $ + $ ) + +target_sources(nlohmann_json INTERFACE + $ +) + +target_compile_options(nlohmann_json INTERFACE $<$,$>:-Wno-all -Wno-error>) + target_include_directories(nlohmann_json INTERFACE $ ) diff --git a/thirdparty/nlohmann_json/nlohmann_json/src/single_include/nlohmann_json.hpp b/thirdparty/nlohmann_json/nlohmann_json/src/single_include/nlohmann_json.hpp new file mode 100644 index 0000000000..b136629b74 --- /dev/null +++ b/thirdparty/nlohmann_json/nlohmann_json/src/single_include/nlohmann_json.hpp @@ -0,0 +1,36 @@ +#ifndef __NLOHMANN_JSON_HPP__ +#define __NLOHMANN_JSON_HPP__ + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(push) + +#elif defined(__INTEL_COMPILER) && !defined(__clang__) +#pragma warning push +#pragma warning disable 1011 +_Pragma("warning(disable:1011)") + +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wall" + +#elif defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wall" +#endif + +#include + +#if defined(_MSC_VER) && !defined(__clang__) +#pragma warning(pop) + +#elif defined(__INTEL_COMPILER) && !defined(__clang__) +#pragma warning pop + +#elif defined(__GNUC__) && !defined(__clang__) +#pragma GCC diagnostic pop + +#elif defined(__clang__) +#pragma clang diagnostic pop +#endif + +#endif diff --git a/thirdparty/nlohmann_json/nlohmann_json/src/single_include/nlohmann/json.hpp b/thirdparty/nlohmann_json/nlohmann_json/src/single_include/upstream/nlohmann/json.hpp similarity index 100% rename from thirdparty/nlohmann_json/nlohmann_json/src/single_include/nlohmann/json.hpp rename to thirdparty/nlohmann_json/nlohmann_json/src/single_include/upstream/nlohmann/json.hpp diff --git a/thirdparty/nlohmann_json/update.sh b/thirdparty/nlohmann_json/update.sh index dfd8eaf94d..dac32324da 100755 --- a/thirdparty/nlohmann_json/update.sh +++ b/thirdparty/nlohmann_json/update.sh @@ -6,7 +6,7 @@ shopt -s dotglob readonly name="nlohmann_json/single_include" readonly ownership="JSON For Modern C++ Upstream " -readonly subtree="thirdparty/nlohmann_json/nlohmann_json/src/single_include" +readonly subtree="thirdparty/nlohmann_json/nlohmann_json/src/single_include/upstream" readonly repo="https://github.com/nlohmann/json.git" readonly tag="master" readonly shortlog="true"