diff --git a/.github/workflows/regression.yml b/.github/workflows/regression.yml index cb7d6cca23ce..453f7a577a8b 100644 --- a/.github/workflows/regression.yml +++ b/.github/workflows/regression.yml @@ -54,12 +54,12 @@ jobs: key: ${{ matrix.config_set }}-${{ github.sha }} restore-keys: ${{ matrix.config_set }} - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} - name: Build - uses: docker://ghcr.io/su2code/su2/build-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2:260404-0039 with: args: -b ${{github.ref}} -f "${{matrix.flags}}" - name: Compress binaries @@ -70,7 +70,7 @@ jobs: name: ${{ matrix.config_set }} path: install_bin.tgz - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -97,12 +97,12 @@ jobs: key: ${{ matrix.config_set }}-${{ github.sha }} restore-keys: ${{ matrix.config_set }} - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2-tsan:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2-tsan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} - name: Build - uses: docker://ghcr.io/su2code/su2/build-su2-tsan:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2-tsan:260404-0039 with: args: -b ${{github.ref}} -f "${{matrix.flags}}" - name: Compress binaries @@ -113,7 +113,7 @@ jobs: name: ${{ matrix.config_set }} path: install_bin.tgz - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2-tsan:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2-tsan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -137,12 +137,12 @@ jobs: key: ${{ matrix.config_set }}-${{ github.sha }} restore-keys: ${{ matrix.config_set }} - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2-asan:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2-asan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} - name: Build - run: docker run --rm --cap-add SYS_PTRACE -v $(pwd):${{ github.workspace }} -w ${{ github.workspace }} ghcr.io/su2code/su2/build-su2-asan:250717-1402 -b ${{github.ref}} -f "${{matrix.flags}}" + run: docker run --rm --cap-add SYS_PTRACE -v $(pwd):${{ github.workspace }} -w ${{ github.workspace }} ghcr.io/su2code/su2/build-su2-asan:260404-0039 -b ${{github.ref}} -f "${{matrix.flags}}" - name: Compress binaries run: tar -zcvf install_bin.tgz install/* - name: Upload Binaries @@ -151,7 +151,7 @@ jobs: name: ${{ matrix.config_set }} path: install_bin.tgz - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/build-su2-asan:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2-asan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -182,7 +182,7 @@ jobs: tag: OMP steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -208,12 +208,12 @@ jobs: chmod a+x $BIN_FOLDER/* ls -lahR $BIN_FOLDER - name: Run Tests in Container - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: # -t -c args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} - name: Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -231,7 +231,7 @@ jobs: tag: TagNoMPI steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -257,12 +257,12 @@ jobs: chmod a+x $BIN_FOLDER/* ls -lahR $BIN_FOLDER - name: Run Tests in Container - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: # -t -c args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} -a "--tapetests" - name: Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -277,7 +277,7 @@ jobs: testscript: ['hybrid_regression.py', 'hybrid_regression_AD.py'] steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2-tsan:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2-tsan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -303,12 +303,14 @@ jobs: chmod a+x $BIN_FOLDER/* ls -lahR $BIN_FOLDER - name: Run Tests in Container - uses: docker://ghcr.io/su2code/su2/test-su2-tsan:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2-tsan:260404-0039 + env: + PMIX_MCA_gds: hash with: # -t -c args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} -a "--tsan" - name: Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2-tsan:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2-tsan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -322,7 +324,7 @@ jobs: testscript: ['serial_regression.py', 'serial_regression_AD.py'] steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2-asan:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2-asan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -348,12 +350,12 @@ jobs: chmod a+x $BIN_FOLDER/* ls -lahR $BIN_FOLDER - name: Run Tests in Container - uses: docker://ghcr.io/su2code/su2/test-su2-asan:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2-asan:260404-0039 with: # -t -c args: -b ${{github.ref}} -t develop -c develop -s ${{matrix.testscript}} -a "--asan" - name: Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2-asan:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2-asan:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -374,7 +376,7 @@ jobs: tag: MPI steps: - name: Pre Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} @@ -435,11 +437,13 @@ jobs: echo $PWD ls -lahR - name: Run Unit Tests - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 + env: + OMPI_MCA_osc: pt2pt with: entrypoint: install/bin/${{matrix.testdriver}} - name: Post Cleanup - uses: docker://ghcr.io/su2code/su2/test-su2:250717-1402 + uses: docker://ghcr.io/su2code/su2/test-su2:260404-0039 with: entrypoint: /bin/rm args: -rf install install_bin.tgz src ccache ${{ matrix.config_set }} diff --git a/.github/workflows/release-management.yml b/.github/workflows/release-management.yml index b018716a3697..f9c0c6c92f02 100644 --- a/.github/workflows/release-management.yml +++ b/.github/workflows/release-management.yml @@ -35,7 +35,7 @@ jobs: key: ${{ matrix.os_bin }}-${{ github.sha }} restore-keys: ${{ matrix.os_bin }} - name: Build - uses: docker://ghcr.io/su2code/su2/build-su2-cross:250717-1402 + uses: docker://ghcr.io/su2code/su2/build-su2-cross:260404-0039 with: args: -b ${{ github.sha }} -f "${{matrix.flags}}" - name: Create Archive diff --git a/Common/include/code_config.hpp b/Common/include/code_config.hpp index eafaa844d8f9..2585283d34d7 100644 --- a/Common/include/code_config.hpp +++ b/Common/include/code_config.hpp @@ -28,6 +28,12 @@ #include +#if defined(_MSC_VER) +#define PRAGMIZE(X) __pragma(X) +#else +#define PRAGMIZE(X) _Pragma(#X) +#endif + #if defined(_MSC_VER) #define FORCEINLINE __forceinline #elif defined(__GNUC__) || defined(__clang__) || defined(__INTEL_COMPILER) @@ -151,3 +157,13 @@ using su2mixedfloat = passivedouble; #define HAVE_OMPT #endif #endif + +#ifdef __GNUC__ +#define SU2_IGNORE_WARNING(WARNING) \ + PRAGMIZE(GCC diagnostic push) \ + PRAGMIZE(GCC diagnostic ignored WARNING) +#define SU2_RESTORE_WARNING PRAGMIZE(GCC diagnostic pop) +#else +#define SU2_IGNORE_WARNING(WARNING) +#define SU2_RESTORE_WARNING +#endif diff --git a/Common/include/containers/C2DContainer.hpp b/Common/include/containers/C2DContainer.hpp index ac45d182d563..b7489f767d7c 100644 --- a/Common/include/containers/C2DContainer.hpp +++ b/Common/include/containers/C2DContainer.hpp @@ -545,7 +545,10 @@ class C2DContainer * \brief Set value of all entries to "value". */ void setConstant(const Scalar_t& value) noexcept { + // GCC 13 has a false-positive about overflow of memcpy due to size being uint64_t, and its memcpy just int64_t. + SU2_IGNORE_WARNING("-Wstringop-overflow") for (size_t i = 0; i < size(); ++i) m_data[i] = value; + SU2_RESTORE_WARNING } /*! diff --git a/Common/include/parallelization/omp_structure.hpp b/Common/include/parallelization/omp_structure.hpp index 52ffe77a7892..3c9e5bca9816 100644 --- a/Common/include/parallelization/omp_structure.hpp +++ b/Common/include/parallelization/omp_structure.hpp @@ -43,12 +43,6 @@ #include "../code_config.hpp" -#if defined(_MSC_VER) -#define PRAGMIZE(X) __pragma(X) -#else -#define PRAGMIZE(X) _Pragma(#X) -#endif - #if defined(HAVE_OMP) #include diff --git a/Common/src/linear_algebra/CSysSolve.cpp b/Common/src/linear_algebra/CSysSolve.cpp index ae01000cf7f2..ce4543265464 100644 --- a/Common/src/linear_algebra/CSysSolve.cpp +++ b/Common/src/linear_algebra/CSysSolve.cpp @@ -25,10 +25,6 @@ * License along with SU2. If not, see . */ -#include "Eigen/Core" -#include "Eigen/Dense" -#include "Eigen/Eigenvalues" - #include "../../include/linear_algebra/CSysSolve.hpp" #include "../../include/linear_algebra/CSysSolve_b.hpp" #include "../../include/parallelization/omp_structure.hpp" @@ -38,6 +34,12 @@ #include "../../include/linear_algebra/CMatrixVectorProduct.hpp" #include "../../include/linear_algebra/CPreconditioner.hpp" +SU2_IGNORE_WARNING("-Wmaybe-uninitialized") +#include "Eigen/Core" +#include "Eigen/Dense" +#include "Eigen/Eigenvalues" +SU2_RESTORE_WARNING + #include #include #include diff --git a/SU2_CFD/include/numerics/CNumerics.hpp b/SU2_CFD/include/numerics/CNumerics.hpp index cc9194997478..2531f01317ca 100644 --- a/SU2_CFD/include/numerics/CNumerics.hpp +++ b/SU2_CFD/include/numerics/CNumerics.hpp @@ -563,7 +563,7 @@ class CNumerics { NEVERINLINE static void ComputePerturbedRSM(size_t nDim, size_t uq_eigval_comp, bool uq_permute, su2double uq_delta_b, su2double uq_urlx, const Mat1& velgrad, Scalar density, Scalar viscosity, Scalar turb_ke, Mat2& MeanPerturbedRSM) { - Scalar MeanReynoldsStress[3][3]; + Scalar MeanReynoldsStress[3][3] = {{}}; ComputeStressTensor(nDim, MeanReynoldsStress, velgrad, viscosity, density, turb_ke, true); for (size_t iDim = 0; iDim < 3; iDim++) for (size_t jDim = 0; jDim < 3; jDim++) diff --git a/SU2_CFD/src/solvers/CSolver.cpp b/SU2_CFD/src/solvers/CSolver.cpp index 58f8c90e2bc3..0ff0f125c1a1 100644 --- a/SU2_CFD/src/solvers/CSolver.cpp +++ b/SU2_CFD/src/solvers/CSolver.cpp @@ -4045,7 +4045,7 @@ void CSolver::ComputeVertexTractions(CGeometry *geometry, const CConfig *config) // Calculate tn in the fluid nodes for the viscous term if (viscous_flow) { const su2double Viscosity = base_nodes->GetLaminarViscosity(iPoint); - su2double Tau[3][3]; + su2double Tau[3][3] = {{}}; CNumerics::ComputeStressTensor(nDim, Tau, base_nodes->GetVelocityGradient(iPoint), Viscosity); for (unsigned short iDim = 0; iDim < nDim; iDim++) { auxForce[iDim] += GeometryToolbox::DotProduct(nDim, Tau[iDim], Normal); diff --git a/TestCases/hybrid_regression.py b/TestCases/hybrid_regression.py index f217ff98a4a5..18ea54aeb92a 100644 --- a/TestCases/hybrid_regression.py +++ b/TestCases/hybrid_regression.py @@ -215,7 +215,7 @@ def main(): turb_naca0012_sst_sust.cfg_dir = "rans/naca0012" turb_naca0012_sst_sust.cfg_file = "turb_NACA0012_sst_sust.cfg" turb_naca0012_sst_sust.test_iter = 10 - turb_naca0012_sst_sust.test_vals = [-12.080740, -14.837176, -5.732917, 1.000893, 0.019109, -2.120257] + turb_naca0012_sst_sust.test_vals = [-12.080804, -14.837176, -5.732917, 1.000893, 0.019109, -2.120148] turb_naca0012_sst_sust.test_vals_aarch64 = [-12.073210, -14.836724, -5.732627, 1.000050, 0.019144, -2.629689] test_list.append(turb_naca0012_sst_sust) @@ -252,7 +252,7 @@ def main(): axi_rans_air_nozzle_restart.cfg_dir = "axisymmetric_rans/air_nozzle" axi_rans_air_nozzle_restart.cfg_file = "air_nozzle_restart.cfg" axi_rans_air_nozzle_restart.test_iter = 10 - axi_rans_air_nozzle_restart.test_vals = [-12.066676, -7.446616, -8.813770, -3.730662, 0] + axi_rans_air_nozzle_restart.test_vals = [-12.066674, -7.446485, -8.813457, -3.730648, 0] axi_rans_air_nozzle_restart.test_vals_aarch64 = [-14.140441, -9.154674, -10.886121, -5.806594, 0.000000] test_list.append(axi_rans_air_nozzle_restart) diff --git a/TestCases/parallel_regression.py b/TestCases/parallel_regression.py index 5dbfde3f381e..cadbede988e3 100755 --- a/TestCases/parallel_regression.py +++ b/TestCases/parallel_regression.py @@ -491,7 +491,7 @@ def main(): turb_naca0012_sst.cfg_dir = "rans/naca0012" turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" turb_naca0012_sst.test_iter = 10 - turb_naca0012_sst.test_vals = [-12.094699, -15.251093, -5.906365, 1.070413, 0.015775, -2.376178, 0.000000] + turb_naca0012_sst.test_vals = [-12.094710, -15.251093, -5.906365, 1.070413, 0.015775, -2.376172, 0.000000] turb_naca0012_sst.test_vals_aarch64 = [-12.075620, -15.246688, -5.861276, 1.070036, 0.015841, -1.991001, 0.000000] turb_naca0012_sst.timeout = 3200 test_list.append(turb_naca0012_sst) @@ -1457,7 +1457,7 @@ def main(): pywrapper_turb_naca0012_sst.cfg_dir = "rans/naca0012" pywrapper_turb_naca0012_sst.cfg_file = "turb_NACA0012_sst.cfg" pywrapper_turb_naca0012_sst.test_iter = 10 - pywrapper_turb_naca0012_sst.test_vals = [-12.094699, -15.251093, -5.906365, 1.070413, 0.015775, -2.376178, 0.000000] + pywrapper_turb_naca0012_sst.test_vals = [-12.094710, -15.251093, -5.906365, 1.070413, 0.015775, -2.376172, 0] pywrapper_turb_naca0012_sst.test_vals_aarch64 = [-12.075620, -15.246688, -5.861276, 1.070036, 0.015841, -1.991001, 0.000000] pywrapper_turb_naca0012_sst.command = TestCase.Command("mpirun -np 2", "SU2_CFD.py", "--parallel -f") pywrapper_turb_naca0012_sst.timeout = 3200 diff --git a/TestCases/serial_regression.py b/TestCases/serial_regression.py index 088dc2086ac1..9e23c0304f46 100755 --- a/TestCases/serial_regression.py +++ b/TestCases/serial_regression.py @@ -388,7 +388,7 @@ def main(): inc_nozzle.cfg_dir = "incomp_euler/nozzle" inc_nozzle.cfg_file = "inv_nozzle.cfg" inc_nozzle.test_iter = 20 - inc_nozzle.test_vals = [-4.372228, -4.068732, -0.031530, 0.142087] + inc_nozzle.test_vals = [-3.991840, -3.514388, -0.030614, 0.085106] test_list.append(inc_nozzle) ############################# diff --git a/externals/cgns/hdf5/meson.build b/externals/cgns/hdf5/meson.build index 782e1771a289..8b34eeebe708 100644 --- a/externals/cgns/hdf5/meson.build +++ b/externals/cgns/hdf5/meson.build @@ -16,7 +16,9 @@ if target_machine.system() != 'windows' and cc.get_id() != 'intel' '-Wno-pedantic', '-Wno-error=stringop-truncation', '-Wno-error=cast-function-type', - '-Wno-stringop-truncation'] + '-Wno-stringop-truncation', + '-Wno-dangling-pointer', + '-Wno-format-truncation'] foreach flag : desired_warnings if cc.has_argument(flag) hdf5_default_warnings += flag diff --git a/externals/cgns/meson.build b/externals/cgns/meson.build index 6444e810eb78..47885e893d7b 100644 --- a/externals/cgns/meson.build +++ b/externals/cgns/meson.build @@ -11,7 +11,13 @@ if build_machine.system() != 'windows' and meson.get_compiler('c').get_id() != ' '-Wno-error=stringop-truncation', '-Wno-stringop-truncation', '-Wno-error=absolute-value', - '-Wno-error=class-memaccess'] + '-Wno-error=class-memaccess', + '-Wno-dangling-pointer', + '-Wno-format-truncation', + '-Wno-maybe-uninitialized', + '-Wno-array-bounds', + '-Wno-array-parameter', + '-Wno-stringop-overflow'] foreach flag : desired_warnings if meson.get_compiler('c').has_argument(flag) cgns_default_warnings += flag diff --git a/externals/tecio/meson.build b/externals/tecio/meson.build index 3ff0218ff039..693984be4d2d 100644 --- a/externals/tecio/meson.build +++ b/externals/tecio/meson.build @@ -1,11 +1,11 @@ -check_dir = run_command(python, +check_dir = run_command(python, script_path / 'check_dir.py', 'boost') if check_dir.returncode() != 0 message('Extracting boost ...') - extract_boost = run_command(python, + extract_boost = run_command(python, script_path / 'extract_file.py', - 'boost.tar.gz', + 'boost.tar.gz', meson.current_source_dir(), check: true) else message('Boost sources found.') diff --git a/externals/tecio/teciompisrc/meson.build b/externals/tecio/teciompisrc/meson.build index 420447098369..2598f078b8a3 100644 --- a/externals/tecio/teciompisrc/meson.build +++ b/externals/tecio/teciompisrc/meson.build @@ -22,7 +22,10 @@ if build_machine.system() != 'windows' and meson.get_compiler('cpp').get_id() != '-Wno-error=deprecated-copy', '-Wno-deprecated-copy', '-Wno-error=cast-function-type', - '-Wno-cast-function-type'] + '-Wno-cast-function-type', + '-Wno-free-nonheap-object', + '-Wno-deprecated-copy', + '-Wno-array-bounds'] foreach flag : desired_warnings if meson.get_compiler('cpp').has_argument(flag) tec_cxx_flags += flag @@ -103,9 +106,9 @@ teciompi = static_library('teciompi', 'TecioSZL.cpp', 'exportSubzonePlt.cpp', install : false, - dependencies: [mpi_dep], + dependencies: [mpi_dep], cpp_args: [default_warning_flags, tec_cxx_flags], - include_directories: + include_directories: teciompi_include) teciompi_dep = declare_dependency(link_with: teciompi, diff --git a/externals/tecio/teciosrc/meson.build b/externals/tecio/teciosrc/meson.build index ab7e985549bf..caed8227519c 100644 --- a/externals/tecio/teciosrc/meson.build +++ b/externals/tecio/teciosrc/meson.build @@ -17,7 +17,10 @@ if build_machine.system() != 'windows' and meson.get_compiler('cpp').get_id() != '-Wno-uninitialized', '-Wno-placement-new', '-Wno-pedantic', - '-Wno-error=deprecated-copy'] + '-Wno-error=deprecated-copy', + '-Wno-free-nonheap-object', + '-Wno-deprecated-copy', + '-Wno-array-bounds'] foreach flag : desired_warnings if meson.get_compiler('cpp').has_argument(flag) tecio_cpp_flags += flag diff --git a/meson.build b/meson.build index b5cb2d9b414e..16edb96eba74 100644 --- a/meson.build +++ b/meson.build @@ -40,7 +40,10 @@ if build_machine.system() != 'windows' '-Wno-error=missing-field-initializers', '-Wno-missing-field-initializers', '-Wno-error=class-memaccess', - '-Wno-class-memaccess'] + '-Wno-class-memaccess', + '-Wno-overloaded-virtual', + '-Wno-array-bounds', + '-Wno-dangling-pointer'] foreach flag : desired_warnings if meson.get_compiler('cpp').has_argument(flag) default_warning_flags += flag