diff --git a/.github/workflows/macos_debug.yml b/.github/workflows/macos_debug.yml index 0f1d31974bdc..7d0936730d54 100644 --- a/.github/workflows/macos_debug.yml +++ b/.github/workflows/macos_debug.yml @@ -74,4 +74,5 @@ jobs: tests.unit.modules.segmented_algorithms.distributed.tcp.partitioned_vector|\ tests.unit.threads.distributed.tcp.thread_stacksize|\ tests.unit.topology.numa_allocator|\ - tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component" + tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component|\ + tests.unit.modules.executors.limiting_executor" diff --git a/.github/workflows/macos_debug_fetch_boost.yml b/.github/workflows/macos_debug_fetch_boost.yml index 6fb9233cb507..81d15d8eeb1c 100644 --- a/.github/workflows/macos_debug_fetch_boost.yml +++ b/.github/workflows/macos_debug_fetch_boost.yml @@ -72,4 +72,5 @@ jobs: tests.unit.modules.segmented_algorithms.distributed.tcp.partitioned_vector|\ tests.unit.threads.distributed.tcp.thread_stacksize|\ tests.unit.topology.numa_allocator|\ - tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component" + tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component|\ + tests.unit.modules.executors.limiting_executor" diff --git a/.github/workflows/macos_debug_fetch_hwloc.yml b/.github/workflows/macos_debug_fetch_hwloc.yml index b3cef50f4784..caec2af3ac25 100644 --- a/.github/workflows/macos_debug_fetch_hwloc.yml +++ b/.github/workflows/macos_debug_fetch_hwloc.yml @@ -75,4 +75,5 @@ jobs: tests.unit.modules.segmented_algorithms.distributed.tcp.partitioned_vector|\ tests.unit.threads.distributed.tcp.thread_stacksize|\ tests.unit.topology.numa_allocator|\ - tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component" + tests.unit.modules.runtime_components.distributed.tcp.migrate_polymorphic_component|\ + tests.unit.modules.executors.limiting_executor" diff --git a/.jenkins/lsu-perftests/env-perftests.sh b/.jenkins/lsu-perftests/env-perftests.sh index bc8e324deedb..4d13d79e38d5 100644 --- a/.jenkins/lsu-perftests/env-perftests.sh +++ b/.jenkins/lsu-perftests/env-perftests.sh @@ -1,5 +1,7 @@ # Copyright (c) 2020 ETH Zurich # Copyright (c) 2022 Hartmut Kaiser +# Copyright (c) 2024 Alireza Kheirkhahan + # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -8,8 +10,8 @@ set -eu module purge module load cmake -module load llvm/13 -module load boost/1.78.0-release +module load llvm/18 +module load boost/1.85.0-release module load hwloc module load openmpi diff --git a/.jenkins/lsu/Jenkinsfile b/.jenkins/lsu/Jenkinsfile index b638b11e8393..d2cba01e2f55 100644 --- a/.jenkins/lsu/Jenkinsfile +++ b/.jenkins/lsu/Jenkinsfile @@ -2,6 +2,7 @@ // Copyright (c) 2020 ETH Zurich // Copyright (c) 2022 Hartmut Kaiser +// Copyright (c) 2024 Alireza Kheirkhahan // // SPDX-License-Identifier: BSL-1.0 // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -36,7 +37,7 @@ pipeline { axes { axis { name 'configuration_name' - values 'gcc-10', 'gcc-11', 'gcc-12', 'gcc-13', 'clang-12-apex', 'clang-12', 'clang-13', 'clang-14', 'clang-15', 'clang-16', 'clang-17','gcc-12-cuda-12', 'gcc-13-cuda-12-dgx', 'hipcc' + values 'gcc-11', 'gcc-12', 'gcc-13', 'gcc-14', 'clang-17-apex', 'clang-16', 'clang-17', 'clang-18', 'gcc-12-cuda-12', 'gcc-12-cuda-12-dgx', 'hipcc' } axis { name 'build_type' diff --git a/.jenkins/lsu/env-clang-12.sh b/.jenkins/lsu/env-clang-12.sh deleted file mode 100644 index c9b5e4a5ee10..000000000000 --- a/.jenkins/lsu/env-clang-12.sh +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -module purge -module load cmake -module load llvm/12 -module load boost/1.75.0-${build_type,,} -module load hwloc -module load openmpi -module load pwrapi/1.1.1 - -export HPXRUN_RUNWRAPPER=srun -export CXX_STD="20" -export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH - -configure_extra_options+=" -DCMAKE_BUILD_TYPE=${build_type}" -configure_extra_options+=" -DHPX_WITH_CXX_STANDARD=${CXX_STD}" -configure_extra_options+=" -DHPX_WITH_MALLOC=system" -configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON" -configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON" -configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON" -configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON" -configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON" -configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON" -configure_extra_options+=" -DCMAKE_C_COMPILER=clang" -configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC" -configure_extra_options+=" -DHPX_WITH_LOGGING=OFF" - -# The pwrapi library still needs to be set up properly on rostam -# configure_extra_options+=" -DHPX_WITH_POWER_COUNTER=ON" - -# Make sure HWLOC does not report 'cores'. This is purely an option to enable -# testing the topology code under conditions close to those on FreeBSD. -configure_extra_options+=" -DHPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=ON" - -configure_extra_options+=" -DHPX_COROUTINES_WITH_THREAD_SCHEDULE_HINT_RUNS_AS_CHILD=ON" diff --git a/.jenkins/lsu/env-clang-13.sh b/.jenkins/lsu/env-clang-13.sh deleted file mode 100644 index 76df09cfd93b..000000000000 --- a/.jenkins/lsu/env-clang-13.sh +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -module purge -module load cmake -module load llvm/13 -module load boost/1.78.0-${build_type,,} -module load hwloc -module load openmpi -module load pwrapi/1.1.1 - -export HPXRUN_RUNWRAPPER=srun -export CXX_STD="17" -export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH - -configure_extra_options+=" -DCMAKE_BUILD_TYPE=${build_type}" -configure_extra_options+=" -DHPX_WITH_CXX_STANDARD=${CXX_STD}" -configure_extra_options+=" -DHPX_WITH_MALLOC=system" -configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON" -configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON" -configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON" -configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON" -configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON" -configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON" -configure_extra_options+=" -DCMAKE_C_COMPILER=clang" -configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC" -configure_extra_options+=" -DHPX_WITH_LOGGING=OFF" -configure_extra_options+=" -DHPX_WITH_TESTS_COMMAND_LINE=--hpx:queuing=local-workrequesting-fifo" - - -# The pwrapi library still needs to be set up properly on rostam -# configure_extra_options+=" -DHPX_WITH_POWER_COUNTER=ON" - -# Make sure HWLOC does not report 'cores'. This is purely an option to enable -# testing the topology code under conditions close to those on FreeBSD. -configure_extra_options+=" -DHPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=ON" diff --git a/.jenkins/lsu/env-clang-14.sh b/.jenkins/lsu/env-clang-14.sh deleted file mode 100644 index 144c17e7820d..000000000000 --- a/.jenkins/lsu/env-clang-14.sh +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -module purge -module load cmake -module load llvm/14 -module load boost/1.79.0-${build_type,,} -module load hwloc -module load openmpi -module load pwrapi/1.1.1 - -export HPXRUN_RUNWRAPPER=srun -export CXX_STD="20" -export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH - -configure_extra_options+=" -DCMAKE_BUILD_TYPE=${build_type}" -configure_extra_options+=" -DHPX_WITH_CXX_STANDARD=${CXX_STD}" -configure_extra_options+=" -DHPX_WITH_MALLOC=system" -configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON" -configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON" -configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON" -configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON" -configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON" -configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON" -configure_extra_options+=" -DCMAKE_C_COMPILER=clang" -configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC" -configure_extra_options+=" -DHPX_WITH_LOGGING=OFF" -configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE" -configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON" - -# The pwrapi library still needs to be set up properly on rostam -# configure_extra_options+=" -DHPX_WITH_POWER_COUNTER=ON" - -# Make sure HWLOC does not report 'cores'. This is purely an option to enable -# testing the topology code under conditions close to those on FreeBSD. -configure_extra_options+=" -DHPX_TOPOLOGY_WITH_ADDITIONAL_HWLOC_TESTING=ON" diff --git a/.jenkins/lsu/env-clang-16.sh b/.jenkins/lsu/env-clang-16.sh index 393e42c03e54..4a5d951bd1aa 100644 --- a/.jenkins/lsu/env-clang-16.sh +++ b/.jenkins/lsu/env-clang-16.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -10,7 +11,6 @@ module load llvm/16 module load boost/1.82.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 export HPXRUN_RUNWRAPPER=srun export CXX_STD="20" diff --git a/.jenkins/lsu/env-clang-12-apex.sh b/.jenkins/lsu/env-clang-17-apex.sh similarity index 89% rename from .jenkins/lsu/env-clang-12-apex.sh rename to .jenkins/lsu/env-clang-17-apex.sh index 0ade7b3262cf..568882562ce0 100644 --- a/.jenkins/lsu/env-clang-12-apex.sh +++ b/.jenkins/lsu/env-clang-17-apex.sh @@ -7,13 +7,12 @@ module purge module load cmake -module load llvm/12 -module load boost/1.75.0-${build_type,,} +module load llvm/17 +module load boost/1.84.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 -module load papi/7.0.1 -module load otf2/3.0.3 +module load papi +module load otf2 export HPXRUN_RUNWRAPPER=srun export CXX_STD="20" diff --git a/.jenkins/lsu/env-clang-17.sh b/.jenkins/lsu/env-clang-17.sh index 1b6ac8d26294..cf8ef3e3aed5 100644 --- a/.jenkins/lsu/env-clang-17.sh +++ b/.jenkins/lsu/env-clang-17.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -7,10 +8,9 @@ module purge module load cmake module load llvm/17 -module load boost/1.83.0-${build_type,,} +module load boost/1.84.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 export HPXRUN_RUNWRAPPER=srun export CXX_STD="20" diff --git a/.jenkins/lsu/env-clang-15.sh b/.jenkins/lsu/env-clang-18.sh similarity index 93% rename from .jenkins/lsu/env-clang-15.sh rename to .jenkins/lsu/env-clang-18.sh index 1df2a9fd23b3..6c105f905bad 100644 --- a/.jenkins/lsu/env-clang-15.sh +++ b/.jenkins/lsu/env-clang-18.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -6,11 +7,10 @@ module purge module load cmake -module load llvm/15 -module load boost/1.81.0-${build_type,,} +module load llvm/18 +module load boost/1.85.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 export HPXRUN_RUNWRAPPER=srun export CXX_STD="20" diff --git a/.jenkins/lsu/env-gcc-11.sh b/.jenkins/lsu/env-gcc-11.sh index 3276a6f9c97f..17055b618fe2 100644 --- a/.jenkins/lsu/env-gcc-11.sh +++ b/.jenkins/lsu/env-gcc-11.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -10,7 +11,6 @@ module load gcc/11 module load boost/1.78.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 export HPXRUN_RUNWRAPPER=srun export CXX_STD="20" diff --git a/.jenkins/lsu/env-gcc-13-cuda-12-dgx.sh b/.jenkins/lsu/env-gcc-12-cuda-12-dgx.sh similarity index 86% rename from .jenkins/lsu/env-gcc-13-cuda-12-dgx.sh rename to .jenkins/lsu/env-gcc-12-cuda-12-dgx.sh index f114b043e65d..5881de40698a 100644 --- a/.jenkins/lsu/env-gcc-13-cuda-12-dgx.sh +++ b/.jenkins/lsu/env-gcc-12-cuda-12-dgx.sh @@ -1,4 +1,5 @@ -# Copyright (c) 2022-2023 Hartmut Kaiser +# Copyright (c) 2022-2024 Hartmut Kaiser +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -6,9 +7,9 @@ module purge module load cmake -module load gcc/13 +module load gcc/12 module load cuda/12 -module load boost/1.83.0-${build_type,,} +module load boost/1.81.0-${build_type,,} module load hwloc export CXX_STD="17" diff --git a/.jenkins/lsu/env-gcc-12-cuda-12.sh b/.jenkins/lsu/env-gcc-12-cuda-12.sh index 5cee91dd586d..9d946b075061 100644 --- a/.jenkins/lsu/env-gcc-12-cuda-12.sh +++ b/.jenkins/lsu/env-gcc-12-cuda-12.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -7,7 +8,7 @@ module purge module load cmake module load gcc/12 -module load boost/1.82.0-${build_type,,} +module load boost/1.81.0-${build_type,,} module load hwloc module load cuda/12 module load openmpi diff --git a/.jenkins/lsu/env-gcc-12.sh b/.jenkins/lsu/env-gcc-12.sh index 48a6887c1ba6..06e288a62b7f 100644 --- a/.jenkins/lsu/env-gcc-12.sh +++ b/.jenkins/lsu/env-gcc-12.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -10,7 +11,6 @@ module load gcc/12 module load boost/1.81.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 export HPXRUN_RUNWRAPPER=srun export CXX_STD="20" diff --git a/.jenkins/lsu/env-gcc-13.sh b/.jenkins/lsu/env-gcc-13.sh index 4a10458aa535..06910b0f4037 100644 --- a/.jenkins/lsu/env-gcc-13.sh +++ b/.jenkins/lsu/env-gcc-13.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -7,10 +8,9 @@ module purge module load cmake module load gcc/13 -module load boost/1.83.0-${build_type,,} +module load boost/1.84.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 export HPXRUN_RUNWRAPPER=srun export CXX_STD="20" diff --git a/.jenkins/lsu/env-gcc-10.sh b/.jenkins/lsu/env-gcc-14.sh similarity index 79% rename from .jenkins/lsu/env-gcc-10.sh rename to .jenkins/lsu/env-gcc-14.sh index 9c4064825a0a..a256e0651b18 100644 --- a/.jenkins/lsu/env-gcc-10.sh +++ b/.jenkins/lsu/env-gcc-14.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -6,20 +7,18 @@ module purge module load cmake -module load gcc/10 -module load boost/1.75.0-${build_type,,} +module load gcc/14 +module load boost/1.85.0-${build_type,,} module load hwloc module load openmpi -module load pwrapi/1.1.1 export HPXRUN_RUNWRAPPER=srun -export CXX_STD="17" +export CXX_STD="20" export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH configure_extra_options+=" -DHPX_WITH_CXX_STANDARD=${CXX_STD}" configure_extra_options+=" -DHPX_WITH_MALLOC=system" configure_extra_options+=" -DHPX_WITH_FETCH_ASIO=ON" -configure_extra_options+=" -DHPX_WITH_ASIO_TAG=asio-1-12-0" configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON" configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=ON" configure_extra_options+=" -DHPX_WITH_PARCELPORT_MPI=ON" @@ -27,8 +26,9 @@ configure_extra_options+=" -DHPX_WITH_PARCELPORT_LCI=ON" configure_extra_options+=" -DHPX_WITH_FETCH_LCI=ON" configure_extra_options+=" -DCMAKE_C_COMPILER=gcc" configure_extra_options+=" -DCMAKE_C_FLAGS=-fPIC" +configure_extra_options+=" -DHPX_WITH_DATAPAR_BACKEND=EVE" +configure_extra_options+=" -DHPX_WITH_FETCH_EVE=ON" +configure_extra_options+=" -DHPX_WITH_EVE_TAG=main" # The pwrapi library still needs to be set up properly on rostam # configure_extra_options+=" -DHPX_WITH_POWER_COUNTER=ON" - -configure_extra_options+=" -DHPX_COROUTINES_WITH_THREAD_SCHEDULE_HINT_RUNS_AS_CHILD=ON" diff --git a/.jenkins/lsu/env-hipcc.sh b/.jenkins/lsu/env-hipcc.sh index e31a25c4fa26..06903456b326 100644 --- a/.jenkins/lsu/env-hipcc.sh +++ b/.jenkins/lsu/env-hipcc.sh @@ -1,15 +1,19 @@ # Copyright (c) 2020-2021 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +module purge +module load cmake module load rocm -module load boost -export CXX=hipcc +module load boost/1.84.0-${build_type,,} +#export CXX=hipcc export HPXRUN_RUNWRAPPER=srun -export CXX_STD="17" +export CXX_STD="20" configure_extra_options+=" -DHPX_WITH_CXX_STANDARD=${CXX_STD}" configure_extra_options+=" -DHPX_WITH_MALLOC=system" @@ -20,3 +24,4 @@ configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS=ON" configure_extra_options+=" -DHPX_WITH_COMPILER_WARNINGS_AS_ERRORS=OFF" ctest_extra_args+=" -E tests.unit.modules.algorithms.detail " +ctest_extra_args+=" -E tests.regressions.modules.coroutines.coroutine_function_destructor_yield_4800" diff --git a/.jenkins/lsu/slurm-configuration-clang-15.sh b/.jenkins/lsu/slurm-configuration-clang-15.sh deleted file mode 100644 index fa04df0a3fb8..000000000000 --- a/.jenkins/lsu/slurm-configuration-clang-15.sh +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -configuration_slurm_partition="jenkins-compute" -configuration_slurm_num_nodes="1" diff --git a/.jenkins/lsu/slurm-configuration-clang-11.sh b/.jenkins/lsu/slurm-configuration-clang-16.sh similarity index 88% rename from .jenkins/lsu/slurm-configuration-clang-11.sh rename to .jenkins/lsu/slurm-configuration-clang-16.sh index fa04df0a3fb8..c5d36d447667 100644 --- a/.jenkins/lsu/slurm-configuration-clang-11.sh +++ b/.jenkins/lsu/slurm-configuration-clang-16.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/.jenkins/lsu/slurm-configuration-clang-12-apex.sh b/.jenkins/lsu/slurm-configuration-clang-17-apex.sh similarity index 100% rename from .jenkins/lsu/slurm-configuration-clang-12-apex.sh rename to .jenkins/lsu/slurm-configuration-clang-17-apex.sh diff --git a/.jenkins/lsu/slurm-configuration-clang-12.sh b/.jenkins/lsu/slurm-configuration-clang-17.sh similarity index 88% rename from .jenkins/lsu/slurm-configuration-clang-12.sh rename to .jenkins/lsu/slurm-configuration-clang-17.sh index fa04df0a3fb8..c5d36d447667 100644 --- a/.jenkins/lsu/slurm-configuration-clang-12.sh +++ b/.jenkins/lsu/slurm-configuration-clang-17.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/.jenkins/lsu/slurm-configuration-clang-13.sh b/.jenkins/lsu/slurm-configuration-clang-18.sh similarity index 88% rename from .jenkins/lsu/slurm-configuration-clang-13.sh rename to .jenkins/lsu/slurm-configuration-clang-18.sh index fa04df0a3fb8..c5d36d447667 100644 --- a/.jenkins/lsu/slurm-configuration-clang-13.sh +++ b/.jenkins/lsu/slurm-configuration-clang-18.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/.jenkins/lsu/slurm-configuration-gcc-10.sh b/.jenkins/lsu/slurm-configuration-gcc-10.sh deleted file mode 100644 index fa04df0a3fb8..000000000000 --- a/.jenkins/lsu/slurm-configuration-gcc-10.sh +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -configuration_slurm_partition="jenkins-compute" -configuration_slurm_num_nodes="1" diff --git a/.jenkins/lsu/slurm-configuration-gcc-12-cuda-12-dgx.sh b/.jenkins/lsu/slurm-configuration-gcc-12-cuda-12-dgx.sh index 36f38fc2950a..3a58eafb20cc 100644 --- a/.jenkins/lsu/slurm-configuration-gcc-12-cuda-12-dgx.sh +++ b/.jenkins/lsu/slurm-configuration-gcc-12-cuda-12-dgx.sh @@ -1,4 +1,5 @@ # Copyright (c) 2022-2023 Hartmut Kaiser +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/.jenkins/lsu/slurm-configuration-gcc-10-cuda-11.sh b/.jenkins/lsu/slurm-configuration-gcc-12-cuda-12.sh similarity index 87% rename from .jenkins/lsu/slurm-configuration-gcc-10-cuda-11.sh rename to .jenkins/lsu/slurm-configuration-gcc-12-cuda-12.sh index 3dc9e8a74287..b386fe86fb17 100644 --- a/.jenkins/lsu/slurm-configuration-gcc-10-cuda-11.sh +++ b/.jenkins/lsu/slurm-configuration-gcc-12-cuda-12.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/.jenkins/lsu/slurm-configuration-clang-14.sh b/.jenkins/lsu/slurm-configuration-gcc-14.sh similarity index 88% rename from .jenkins/lsu/slurm-configuration-clang-14.sh rename to .jenkins/lsu/slurm-configuration-gcc-14.sh index fa04df0a3fb8..c5d36d447667 100644 --- a/.jenkins/lsu/slurm-configuration-clang-14.sh +++ b/.jenkins/lsu/slurm-configuration-gcc-14.sh @@ -1,4 +1,5 @@ # Copyright (c) 2020 ETH Zurich +# Copyright (c) 2024 Alireza Kheirkhahan # # SPDX-License-Identifier: BSL-1.0 # Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/.jenkins/lsu/slurm-configuration-gcc-9.sh b/.jenkins/lsu/slurm-configuration-gcc-9.sh deleted file mode 100644 index fa04df0a3fb8..000000000000 --- a/.jenkins/lsu/slurm-configuration-gcc-9.sh +++ /dev/null @@ -1,8 +0,0 @@ -# Copyright (c) 2020 ETH Zurich -# -# SPDX-License-Identifier: BSL-1.0 -# Distributed under the Boost Software License, Version 1.0. (See accompanying -# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - -configuration_slurm_partition="jenkins-compute" -configuration_slurm_num_nodes="1" diff --git a/libs/core/algorithms/tests/regressions/minimal_findend.cpp b/libs/core/algorithms/tests/regressions/minimal_findend.cpp index 2512610611cb..06842f5f9847 100644 --- a/libs/core/algorithms/tests/regressions/minimal_findend.cpp +++ b/libs/core/algorithms/tests/regressions/minimal_findend.cpp @@ -69,11 +69,12 @@ void find_end_failing_test() bool caught_exception = false; try { - std::find_end(decorated_iterator(std::begin(c), - []() { throw std::runtime_error("error"); }), - decorated_iterator( - std::end(c), []() { throw std::runtime_error("error"); }), - std::begin(h), std::end(h)); + [[maybe_unused]] auto ret = + std::find_end(decorated_iterator(std::begin(c), + []() { throw std::runtime_error("error"); }), + decorated_iterator( + std::end(c), []() { throw std::runtime_error("error"); }), + std::begin(h), std::end(h)); // should never reach this point HPX_TEST(false); diff --git a/libs/core/algorithms/tests/unit/algorithms/adjacentdifference_tests.hpp b/libs/core/algorithms/tests/unit/algorithms/adjacentdifference_tests.hpp index d6469ec8d497..5721e9d19e14 100644 --- a/libs/core/algorithms/tests/unit/algorithms/adjacentdifference_tests.hpp +++ b/libs/core/algorithms/tests/unit/algorithms/adjacentdifference_tests.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include diff --git a/libs/core/async_combinators/include/hpx/async_combinators/wait_some.hpp b/libs/core/async_combinators/include/hpx/async_combinators/wait_some.hpp index e07428ff634d..6814439c5a64 100644 --- a/libs/core/async_combinators/include/hpx/async_combinators/wait_some.hpp +++ b/libs/core/async_combinators/include/hpx/async_combinators/wait_some.hpp @@ -183,6 +183,10 @@ namespace hpx { { } +#if defined(HPX_GCC_VERSION) && HPX_GCC_VERSION >= 140000 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-overflow" +#endif template void operator()(SharedState const& shared_state) const { @@ -224,6 +228,9 @@ namespace hpx { wait_.on_future_ready(shared_state->has_exception()); } } +#if defined(HPX_GCC_VERSION) && HPX_GCC_VERSION >= 140000 +#pragma GCC diagnostic pop +#endif template HPX_FORCEINLINE void apply( diff --git a/libs/core/execution/include/hpx/execution/algorithms/when_all_vector.hpp b/libs/core/execution/include/hpx/execution/algorithms/when_all_vector.hpp index 3e1d5ac934a1..ab87ac88fe16 100644 --- a/libs/core/execution/include/hpx/execution/algorithms/when_all_vector.hpp +++ b/libs/core/execution/include/hpx/execution/algorithms/when_all_vector.hpp @@ -268,12 +268,21 @@ namespace hpx::when_all_vector_detail { for (auto&& sender : senders) { #if defined(HPX_HAVE_CXX17_COPY_ELISION) +#if defined(__NVCC__) + op_states[i].emplace( + hpx::util::detail::with_result_of([&]() { + return hpx::execution::experimental::connect( + std::move(sender), + when_all_vector_receiver{*this, i}); + })); +#else op_states[i].emplace( hpx::util::detail::with_result_of([&]() { return hpx::execution::experimental::connect( HPX_MOVE(sender), when_all_vector_receiver{*this, i}); })); +#endif #else // MSVC doesn't get copy elision quite right, the operation // state must be constructed explicitly directly in place @@ -312,7 +321,11 @@ namespace hpx::when_all_vector_detail { values.reserve(num_predecessors); for (auto&& t : ts) { +#if defined(__NVCC__) + values.push_back(std::move(t.value())); +#else values.push_back(HPX_MOVE(t.value())); +#endif } hpx::execution::experimental::set_value( HPX_MOVE(receiver), HPX_MOVE(values)); diff --git a/libs/core/executors/tests/regressions/fork_join_with_result.cpp b/libs/core/executors/tests/regressions/fork_join_with_result.cpp index ef53b4924b7b..248f4198a726 100644 --- a/libs/core/executors/tests/regressions/fork_join_with_result.cpp +++ b/libs/core/executors/tests/regressions/fork_join_with_result.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include diff --git a/libs/core/format/include/hpx/modules/format.hpp b/libs/core/format/include/hpx/modules/format.hpp index 73427ee3c115..0e9ca0847e47 100644 --- a/libs/core/format/include/hpx/modules/format.hpp +++ b/libs/core/format/include/hpx/modules/format.hpp @@ -1,5 +1,5 @@ // Copyright (c) 2017-2021 Agustin Berge -// Copyright (c) 2022 Hartmut Kaiser +// Copyright (c) 2022-2024 Hartmut Kaiser // // SPDX-License-Identifier: BSL-1.0 // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -317,7 +317,11 @@ namespace hpx::util { os << value.delim; first = false; +#if defined(__NVCC__) + using value_type = typename Range::value_type; +#else using value_type = std::decay_t; +#endif detail::formatter::call(os, spec, &elem); } } diff --git a/libs/core/format/tests/unit/format.cpp b/libs/core/format/tests/unit/format.cpp index 58528e7314b4..c2ce743cb468 100644 --- a/libs/core/format/tests/unit/format.cpp +++ b/libs/core/format/tests/unit/format.cpp @@ -15,34 +15,35 @@ int main(int argc, char* argv[]) { - using hpx::util::format; { - HPX_TEST_EQ((format("Hello")), "Hello"); - HPX_TEST_EQ((format("Hello, {}!", "world")), "Hello, world!"); - HPX_TEST_EQ((format("The number is {}", 1)), "The number is 1"); + HPX_TEST_EQ((hpx::util::format("Hello")), "Hello"); + HPX_TEST_EQ( + (hpx::util::format("Hello, {}!", "world")), "Hello, world!"); + HPX_TEST_EQ( + (hpx::util::format("The number is {}", 1)), "The number is 1"); } { - HPX_TEST_EQ((format("{} {}", 1, 2)), "1 2"); - HPX_TEST_EQ((format("{} {1}", 1, 2)), "1 1"); - HPX_TEST_EQ((format("{2} {}", 1, 2)), "2 2"); - HPX_TEST_EQ((format("{2} {1}", 1, 2)), "2 1"); + HPX_TEST_EQ((hpx::util::format("{} {}", 1, 2)), "1 2"); + HPX_TEST_EQ((hpx::util::format("{} {1}", 1, 2)), "1 1"); + HPX_TEST_EQ((hpx::util::format("{2} {}", 1, 2)), "2 2"); + HPX_TEST_EQ((hpx::util::format("{2} {1}", 1, 2)), "2 1"); - HPX_TEST_EQ((format("{:}", 42)), "42"); - HPX_TEST_EQ((format("{:04}", 42)), "0042"); - HPX_TEST_EQ((format("{2:04}", 42, 43)), "0043"); + HPX_TEST_EQ((hpx::util::format("{:}", 42)), "42"); + HPX_TEST_EQ((hpx::util::format("{:04}", 42)), "0042"); + HPX_TEST_EQ((hpx::util::format("{2:04}", 42, 43)), "0043"); - HPX_TEST_EQ((format("{:x}", 42)), "2a"); - HPX_TEST_EQ((format("{:04x}", 42)), "002a"); - HPX_TEST_EQ((format("{2:04x}", 42, 43)), "002b"); + HPX_TEST_EQ((hpx::util::format("{:x}", 42)), "2a"); + HPX_TEST_EQ((hpx::util::format("{:04x}", 42)), "002a"); + HPX_TEST_EQ((hpx::util::format("{2:04x}", 42, 43)), "002b"); - HPX_TEST_EQ((format("{:#x}", 42)), "0x2a"); - HPX_TEST_EQ((format("{:#06x}", 42)), "0x002a"); - HPX_TEST_EQ((format("{2:#06x}", 42, 43)), "0x002b"); + HPX_TEST_EQ((hpx::util::format("{:#x}", 42)), "0x2a"); + HPX_TEST_EQ((hpx::util::format("{:#06x}", 42)), "0x002a"); + HPX_TEST_EQ((hpx::util::format("{2:#06x}", 42, 43)), "0x002b"); } { - HPX_TEST_EQ((format("{} {}", true, false)), "1 0"); + HPX_TEST_EQ((hpx::util::format("{} {}", true, false)), "1 0"); } { @@ -50,29 +51,30 @@ int main(int argc, char* argv[]) std::tm tm = *std::localtime(&t); char buffer[64] = {}; std::strftime(buffer, 64, "%c", &tm); - HPX_TEST_EQ((format("{}", tm)), buffer); + HPX_TEST_EQ((hpx::util::format("{}", tm)), buffer); std::strftime(buffer, 64, "%A %c", &tm); - HPX_TEST_EQ((format("{:%A %c}", tm)), buffer); + HPX_TEST_EQ((hpx::util::format("{:%A %c}", tm)), buffer); } { using hpx::util::format_join; std::vector const vs = {42, 43}; - HPX_TEST_EQ((format("{}", format_join(vs, ""))), "4243"); - HPX_TEST_EQ((format("{}", format_join(vs, ","))), "42,43"); - HPX_TEST_EQ((format("{:x}", format_join(vs, ""))), "2a2b"); - HPX_TEST_EQ((format("{:04x}", format_join(vs, ","))), "002a,002b"); + HPX_TEST_EQ((hpx::util::format("{}", format_join(vs, ""))), "4243"); + HPX_TEST_EQ((hpx::util::format("{}", format_join(vs, ","))), "42,43"); + HPX_TEST_EQ((hpx::util::format("{:x}", format_join(vs, ""))), "2a2b"); + HPX_TEST_EQ( + (hpx::util::format("{:04x}", format_join(vs, ","))), "002a,002b"); } { - HPX_TEST_EQ((format("{{ {}", 1)), "{ 1"); - HPX_TEST_EQ((format("}} {}", 1)), "} 1"); - HPX_TEST_EQ((format("{{}} {}", 1)), "{} 1"); - HPX_TEST_EQ((format("{} {{}}", 1)), "1 {}"); - HPX_TEST_EQ((format("{} {{", 1)), "1 {"); - HPX_TEST_EQ((format("{} }}", 1)), "1 }"); - HPX_TEST_EQ((format("{{{1}}}", 2)), "{2}"); + HPX_TEST_EQ((hpx::util::format("{{ {}", 1)), "{ 1"); + HPX_TEST_EQ((hpx::util::format("}} {}", 1)), "} 1"); + HPX_TEST_EQ((hpx::util::format("{{}} {}", 1)), "{} 1"); + HPX_TEST_EQ((hpx::util::format("{} {{}}", 1)), "1 {}"); + HPX_TEST_EQ((hpx::util::format("{} {{", 1)), "1 {"); + HPX_TEST_EQ((hpx::util::format("{} }}", 1)), "1 }"); + HPX_TEST_EQ((hpx::util::format("{{{1}}}", 2)), "{2}"); } return hpx::util::report_errors(); diff --git a/libs/core/futures/include/hpx/futures/detail/future_data.hpp b/libs/core/futures/include/hpx/futures/detail/future_data.hpp index 2f108651a6d1..1839709b0904 100644 --- a/libs/core/futures/include/hpx/futures/detail/future_data.hpp +++ b/libs/core/futures/include/hpx/futures/detail/future_data.hpp @@ -99,7 +99,7 @@ namespace hpx::lcos::detail { virtual ~future_data_refcnt_base(); - virtual void set_on_completed(completed_callback_type) = 0; + virtual void set_on_completed(completed_callback_type&&) = 0; HPX_FORCEINLINE bool requires_delete() noexcept { @@ -313,7 +313,7 @@ namespace hpx::lcos::detail { // Set the callback which needs to be invoked when the future becomes // ready. If the future is ready the function will be invoked // immediately. - void set_on_completed(completed_callback_type data_sink) override; + void set_on_completed(completed_callback_type&& data_sink) override; virtual state wait(error_code& ec = throws); diff --git a/libs/core/futures/include/hpx/futures/futures_factory.hpp b/libs/core/futures/include/hpx/futures/futures_factory.hpp index 6ab780cdaa60..ac412045a4ee 100644 --- a/libs/core/futures/include/hpx/futures/futures_factory.hpp +++ b/libs/core/futures/include/hpx/futures/futures_factory.hpp @@ -50,7 +50,7 @@ namespace hpx::lcos::local { using result_type = typename Base::result_type; using init_no_addref = typename Base::init_no_addref; - F f_; + std::decay_t f_; explicit task_object(F const& f) : f_(f) diff --git a/libs/core/futures/include/hpx/futures/packaged_continuation.hpp b/libs/core/futures/include/hpx/futures/packaged_continuation.hpp index c7c38d936d43..f337114d1d23 100644 --- a/libs/core/futures/include/hpx/futures/packaged_continuation.hpp +++ b/libs/core/futures/include/hpx/futures/packaged_continuation.hpp @@ -36,7 +36,7 @@ namespace hpx::lcos::detail { template HPX_FORCEINLINE void transfer_result( - SourceState&& src, DestinationState const& dest) + SourceState&& src, DestinationState& dest) { hpx::detail::try_catch_exception_ptr( [&]() { @@ -88,6 +88,8 @@ namespace hpx::lcos::detail { } else { + hpx::intrusive_ptr cont_(&cont); + hpx::detail::try_catch_exception_ptr( [&]() { using inner_shared_state_ptr = @@ -109,13 +111,12 @@ namespace hpx::lcos::detail { // Bind an on_completed handler to this future that will // transfer its result to the new future. - hpx::intrusive_ptr cont_(&cont); ptr->execute_deferred(); ptr->set_on_completed( [inner_state = HPX_MOVE(inner_state), cont_ = HPX_MOVE(cont_)]() mutable -> void { return transfer_result( - HPX_MOVE(inner_state), HPX_MOVE(cont_)); + HPX_MOVE(inner_state), cont_); }); }, [&](std::exception_ptr ep) { @@ -404,13 +405,6 @@ namespace hpx::lcos::detail { class unwrap_continuation : public future_data { private: - template - void on_inner_ready( - traits::detail::shared_state_ptr_for_t&& inner_state) - { - transfer_result(HPX_MOVE(inner_state), this); - } - template void on_outer_ready( traits::detail::shared_state_ptr_for_t&& outer_state) @@ -443,11 +437,13 @@ namespace hpx::lcos::detail { } ptr->execute_deferred(); + + // attach continuation on inner ready ptr->set_on_completed( [this_ = HPX_MOVE(this_), inner = HPX_MOVE(inner_state)]() mutable -> void { - this_->template on_inner_ready( - HPX_MOVE(inner)); + transfer_result( + HPX_MOVE(inner), this_); }); }, [&](std::exception_ptr ep) { diff --git a/libs/core/futures/src/future_data.cpp b/libs/core/futures/src/future_data.cpp index e41a4e4d5844..f0002a6f807c 100644 --- a/libs/core/futures/src/future_data.cpp +++ b/libs/core/futures/src/future_data.cpp @@ -101,8 +101,7 @@ namespace hpx::lcos::detail { { if (runs_child_ != threads::invalid_thread_id) { - auto* thrd = get_thread_id_data(runs_child_); - (void) thrd; + [[maybe_unused]] auto* thrd = get_thread_id_data(runs_child_); LTM_(debug).format( "task_object::~task_object({}), description({}): " "destroy runs_as_child thread", @@ -284,7 +283,7 @@ namespace hpx::lcos::detail { hpx::detail::try_catch_exception_ptr( [&]() { // clang-format off - constexpr void (*p)(Callback&&) noexcept = + constexpr void (*p)(std::decay_t&&) noexcept = &future_data_base::run_on_completed; // clang-format on run_on_completed_on_new_thread(util::deferred_call( @@ -318,11 +317,12 @@ namespace hpx::lcos::detail { // Set the callback which needs to be invoked when the future becomes ready. // If the future is ready the function will be invoked immediately. void future_data_base::set_on_completed( - completed_callback_type data_sink) + completed_callback_type&& data_sink) { if (!data_sink) return; + hpx::intrusive_ptr this_(this); // keep alive if (is_ready(std::memory_order_relaxed)) { // invoke the callback (continuation) function right away @@ -330,8 +330,6 @@ namespace hpx::lcos::detail { } else { - hpx::intrusive_ptr this_(this); // keep alive - std::unique_lock l(mtx_); if (is_ready()) { diff --git a/libs/core/pack_traversal/include/hpx/pack_traversal/detail/pack_traversal_impl.hpp b/libs/core/pack_traversal/include/hpx/pack_traversal/detail/pack_traversal_impl.hpp index d7b341d22a28..c4cdbb367899 100644 --- a/libs/core/pack_traversal/include/hpx/pack_traversal/detail/pack_traversal_impl.hpp +++ b/libs/core/pack_traversal/include/hpx/pack_traversal/detail/pack_traversal_impl.hpp @@ -515,8 +515,13 @@ namespace hpx::util::detail { // I didn't want to pull a whole header for it in. for (auto&& val : container_accessor_of(HPX_FORWARD(T, container))) { +#if defined(__NVCC__) + remapped.push_back( + spreading::unpack(HPX_FORWARD(M, mapper)(val))); +#else remapped.push_back(spreading::unpack( HPX_FORWARD(M, mapper)(HPX_FORWARD(decltype(val), val)))); +#endif } return remapped; // RVO @@ -530,8 +535,12 @@ namespace hpx::util::detail { { for (auto&& val : container_accessor_of(HPX_FORWARD(T, container))) { +#if defined(__NVCC__) + val = spreading::unpack(HPX_FORWARD(M, mapper)(val)); +#else val = spreading::unpack( HPX_FORWARD(M, mapper)(HPX_FORWARD(decltype(val), val))); +#endif } return HPX_FORWARD(T, container); } @@ -545,7 +554,11 @@ namespace hpx::util::detail { { // Don't save the empty mapping for each invocation // of the mapper. +#if defined(__NVCC__) + HPX_FORWARD(M, mapper)(val); +#else HPX_FORWARD(M, mapper)(HPX_FORWARD(decltype(val), val)); +#endif } // Return one instance of an empty mapping for the container return spreading::empty_spread(); @@ -571,7 +584,11 @@ namespace hpx::util::detail { // CUDA needs std::forward here for (auto&& element : std::forward(container)) { +#if defined(__NVCC__) + HPX_FORWARD(M, mapper)(element); +#else HPX_FORWARD(M, mapper)(HPX_FORWARD(decltype(element), element)); +#endif } } } // end namespace container_remapping diff --git a/libs/core/type_support/tests/unit/generator.cpp b/libs/core/type_support/tests/unit/generator.cpp index 0bb35a2d0302..5d080d7fac93 100644 --- a/libs/core/type_support/tests/unit/generator.cpp +++ b/libs/core/type_support/tests/unit/generator.cpp @@ -202,8 +202,8 @@ namespace tests { } }; - // gcc V11/V12 are complaining about mismatched-new-delete -#if !defined(HPX_GCC_VERSION) || HPX_GCC_VERSION >= 140000 + // gcc V11 and on are complaining about mismatched-new-delete +#if !defined(HPX_GCC_VERSION) || HPX_GCC_VERSION >= 150000 hpx::generator> stateless_example() { co_yield 42; @@ -313,8 +313,8 @@ int main() HPX_TEST_EQ(i, expected.size()); } - // gcc V11/V12 are complaining about mismatched-new-delete -#if !defined(HPX_GCC_VERSION) || HPX_GCC_VERSION >= 140000 + // gcc V11 and on are complaining about mismatched-new-delete +#if !defined(HPX_GCC_VERSION) || HPX_GCC_VERSION >= 150000 { std::vector const expected = {42}; std::size_t i = 0; diff --git a/libs/full/components/include/hpx/components/client_base.hpp b/libs/full/components/include/hpx/components/client_base.hpp index 1d3117f00d86..2656e6a19d52 100644 --- a/libs/full/components/include/hpx/components/client_base.hpp +++ b/libs/full/components/include/hpx/components/client_base.hpp @@ -335,9 +335,8 @@ namespace hpx::components { { } explicit client_base(hpx::future&& f) noexcept - : shared_state_( - hpx::traits::future_access::get_shared_state( - HPX_MOVE(f))) + : shared_state_(hpx::traits::future_access< + hpx::future>::get_shared_state(HPX_MOVE(f))) { }