Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update aggregation_executors_and_allocators.hpp to compile with gcc 14 #33

Merged
merged 2 commits into from
Jun 1, 2024

Conversation

diehlpk
Copy link
Contributor

@diehlpk diehlpk commented May 22, 2024

Using GCC 14 we get the following error message:

    '/home/pdiehl/spack/opt/spack/linux-fedora40-skylake_avx512/gcc-14.0.1/gmake-4.4.1-jhgb7givzvmwu5zaptjc443eqril2chf/bin/make' '-j8'

5 errors found in build log:
     428    /usr/include/c++/14/pstl/algorithm_impl.h:3390:5: note: '#pragma message:  [Parallel STL message]: "Vectorized algorithm uni
            mplemented, redirected to serial"'
     429     3390 |     _PSTL_PRAGMA_MESSAGE("Vectorized algorithm unimplemented, redirected to serial");
     430          |     ^~~~~~~~~~~~~~~~~~~~
     431    In file included from /tmp/pdiehl/spack-stage/spack-stage-octotiger-master-xtouwogmsu4ac7ttolute2ot7mzs46od/spack-src/octoti
            ger/unitiger/hydro_impl/hydro_kokkos_kernel.hpp:11,
     432                     from /tmp/pdiehl/spack-stage/spack-stage-octotiger-master-xtouwogmsu4ac7ttolute2ot7mzs46od/spack-src/src/un
            itiger/hydro_impl/hydro_kernel_interface.cpp:16:
     433    /home/pdiehl/spack/opt/spack/linux-fedora40-skylake_avx512/gcc-14.0.1/cppuddle-0.3.1-lrj54bmcsximnerirrwtn2jdrmk4g6yj/includ
            e/aggregation_manager.hpp: In member function 'Aggregated_Executor<Executor>::Executor_Slice& Aggregated_Executor<Executor>:
            :Executor_Slice::operator=(Aggregated_Executor<Executor>::Executor_Slice&&)':
  >> 434    /home/pdiehl/spack/opt/spack/linux-fedora40-skylake_avx512/gcc-14.0.1/cppuddle-0.3.1-lrj54bmcsximnerirrwtn2jdrmk4g6yj/includ
            e/aggregation_manager.hpp:463:21: error: assignment of read-only member 'Aggregated_Executor<Executor>::Executor_Slice::numb
            er_slices'
     435      463 |       number_slices = std::move(other.number_slices);
     436          |       ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  >> 437    /home/pdiehl/spack/opt/spack/linux-fedora40-skylake_avx512/gcc-14.0.1/cppuddle-0.3.1-lrj54bmcsximnerirrwtn2jdrmk4g6yj/includ
            e/aggregation_manager.hpp:464:10: error: assignment of read-only member 'Aggregated_Executor<Executor>::Executor_Slice::id'
     438      464 |       id = std::move(other.id);
     439          |       ~~~^~~~~~~~~~~~~~~~~~~~~
  >> 440    make[2]: *** [CMakeFiles/hydrolib.dir/build.make:93: CMakeFiles/hydrolib.dir/src/unitiger/hydro_impl/hydro_kernel_interface.
            cpp.o] Error 1
     441    make[2]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-octotiger-master-xtouwogmsu4ac7ttolute2ot7mzs46od/spack-src/
            spack-build'
  >> 442    make[1]: *** [CMakeFiles/Makefile2:194: CMakeFiles/hydrolib.dir/all] Error 2
     443    make[1]: Leaving directory '/tmp/pdiehl/spack-stage/spack-stage-octotiger-master-xtouwogmsu4ac7ttolute2ot7mzs46od/spack-src/
            spack-build'
  >> 444    make: *** [Makefile:139: all] Error 2

This gets fixed by removing the const this should have not worked before and GCC 14 is more strict here.

@G-071
Copy link
Member

G-071 commented May 24, 2024

Thanks for catching that one! Yes, that is most definitely a mistake.

I wonder though if it wouldn't be better to delete the move assign constructor instead though -- I will check this first before merging this PR.

@G-071
Copy link
Member

G-071 commented Jun 1, 2024

LGTM. I will revisit those move constructors at another time later though (possibly removing the move assign one).

@G-071 G-071 merged commit 78b178f into SC-SGS:master Jun 1, 2024
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants