diff --git a/.decent_ci-Linux.yaml b/.decent_ci-Linux.yaml index 28de42f0898..5e2ad156e5d 100644 --- a/.decent_ci-Linux.yaml +++ b/.decent_ci-Linux.yaml @@ -1,13 +1,14 @@ compilers: - name: "gcc" - version: "11.4" + version: "13.2" cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DBUILD_PERFORMANCE_TESTS:BOOL=ON -DVALGRIND_ANALYZE_PERFORMANCE_TESTS:BOOL=ON -DENABLE_PCH:BOOL=OFF collect_performance_results: true skip_regression: true s3_upload_bucket: energyplus + num_parallel_builds: 18 - name: "gcc" - version: "11.4" + version: "13.2" build_type: RelWithDebInfo cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF coverage_enabled: true @@ -19,9 +20,10 @@ compilers: ctest_filter: -E "integration.*" skip_regression: true skip_packaging: true + num_parallel_builds: 18 - name: "gcc" - version: "11.4" + version: "13.2" build_type: RelWithDebInfo cmake_extra_flags: -DLINK_WITH_PYTHON:BOOL=ON -DPYTHON_CLI:BOOL=OFF -DPython_REQUIRED_VERSION:STRING=3.12.2 -DPython_ROOT_DIR:PATH=~/.pyenv/versions/3.12.2/ -DBUILD_FORTRAN:BOOL=ON -DBUILD_TESTING:BOOL=ON -DENABLE_REGRESSION_TESTING:BOOL=OFF -DCOMMIT_SHA:STRING=$COMMIT_SHA -DENABLE_COVERAGE:BOOL=ON -DENABLE_GTEST_DEBUG_MODE:BOOL=OFF -DENABLE_PCH:BOOL=OFF coverage_enabled: true @@ -33,3 +35,4 @@ compilers: ctest_filter: -R "integration.*" skip_regression: true skip_packaging: true + num_parallel_builds: 18 diff --git a/.decent_ci.yaml b/.decent_ci.yaml index 011ef0a2485..a80d9aee629 100644 --- a/.decent_ci.yaml +++ b/.decent_ci.yaml @@ -2,7 +2,7 @@ results_repository : Myoldmopar/EnergyPlusBuildResults results_path : _posts results_base_url : https://myoldmopar.github.io/EnergyPlusBuildResults regression_repository : NREL/EnergyPlusRegressionTool -regression_branch : BumpToBoto3 # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main) +regression_branch : main # this is the branch of NREL/EnergyPlusRegressionTool to use (usually main) regression_baseline_default : develop # this is the NREL/EnergyPlus branch to use as the baseline for regressions regression_baseline_develop : "" regression_baseline_master : "" diff --git a/third_party/fmt-8.0.1/include/fmt/format.h b/third_party/fmt-8.0.1/include/fmt/format.h index 82ddb407d09..2b886a1be63 100644 --- a/third_party/fmt-8.0.1/include/fmt/format.h +++ b/third_party/fmt-8.0.1/include/fmt/format.h @@ -316,8 +316,10 @@ template <> constexpr auto num_bits() -> int { FMT_INLINE void assume(bool condition) { (void)condition; -#if FMT_HAS_BUILTIN(__builtin_assume) +#if FMT_HAS_BUILTIN(__builtin_assume) && !FMT_ICC_VERSION __builtin_assume(condition); +#elif FMT_GCC_VERSION + if (!condition) __builtin_unreachable(); #endif } @@ -751,8 +753,18 @@ void basic_memory_buffer::grow(size_t size) { T* new_data = std::allocator_traits::allocate(alloc_, new_capacity); // The following code doesn't throw, so the raw pointer above doesn't leak. - std::uninitialized_copy(old_data, old_data + this->size(), - detail::make_checked(new_data, new_capacity)); + // std::uninitialized_copy(old_data, old_data + this->size(), + // detail::make_checked(new_data, new_capacity)); + // ****** MYOLDMOPAR MANUAL EDIT + // I manually applied some of the changes from this commit + // https://github.com/fmtlib/fmt/commit/fb97cb2318dd14b5c791699232e1e73782be7e57 + // Because of a GCC 13 false positive issuing a string overflow warning + // fmt issue: https://github.com/fmtlib/fmt/issues/3533 + // upstream report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109717 + // An updated FMT version could mute this with the FMT_SYSTEM_HEADERS CMake flag turned on, but it seems fmt-8.0.1 doesn't respond to that + detail::assume(this->size() <= new_capacity); + std::uninitialized_copy_n(old_data, this->size(), new_data); + // ****** this->set(new_data, new_capacity); // deallocate must not throw according to the standard, but even if it does, // the buffer already uses the new storage and will deallocate it in