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

#2286: Remove gcc-8 support #2360

Merged
merged 18 commits into from
Dec 5, 2024
Merged

#2286: Remove gcc-8 support #2360

merged 18 commits into from
Dec 5, 2024

Conversation

thearusable
Copy link
Contributor

Closes #2286

@thearusable thearusable self-assigned this Sep 30, 2024
Copy link

github-actions bot commented Sep 30, 2024

Pipelines results

PR tests (gcc-12, ubuntu, mpich, verbose, kokkos)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (gcc-10, ubuntu, openmpi, no LB)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (clang-13, alpine, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (clang-9, ubuntu, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (gcc-9, ubuntu, mpich, zoltan, json schema test)

Build for 6b623be (2024-11-14 16:15:04 UTC)

Build failed for unknown reason. Check build logs


Build log


PR tests (clang-10, ubuntu, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (clang-11, ubuntu, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (intel icpx, ubuntu, mpich, verbose)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (clang-12, ubuntu, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (clang-13, ubuntu, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (gcc-11, ubuntu, mpich, trace runtime, coverage)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (clang-14, ubuntu, mpich, verbose)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


PR tests (nvidia cuda 12.2.0, gcc-9, ubuntu, mpich, verbose)

Build for b492585 (2024-11-27 13:39:03 UTC)

/vt/lib/CLI/CLI/CLI11.hpp(1029): warning #2361-D: invalid narrowing conversion from "double" to "unsigned long"
          TT { std::declval<CC>() }
               ^
          detected during:
            instantiation of "vt::CLI::detail::is_direct_constructible<T, C>::test [with T=std::vector<std::string, std::allocator<std::string>>, C=double]" based on template arguments <std::vector<std::string, std::allocator<std::string>>, double> at line 1041
            instantiation of class "vt::CLI::detail::is_direct_constructible<T, C> [with T=std::vector<std::string, std::allocator<std::string>>, C=double]" at line 5005
            instantiation of "void vt::CLI::Option::results(T &) const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 5034
            instantiation of "T vt::CLI::Option::as<T>() const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 7315

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

/vt/lib/CLI/CLI/CLI11.hpp(1029): warning #2361-D: invalid narrowing conversion from "int" to "unsigned long"
          TT { std::declval<CC>() }
               ^
          detected during:
            instantiation of "vt::CLI::detail::is_direct_constructible<T, C>::test [with T=std::vector<std::string, std::allocator<std::string>>, C=int]" based on template arguments <std::vector<std::string, std::allocator<std::string>>, int> at line 1041
            instantiation of class "vt::CLI::detail::is_direct_constructible<T, C> [with T=std::vector<std::string, std::allocator<std::string>>, C=int]" at line 5005
            instantiation of "void vt::CLI::Option::results(T &) const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 5034
            instantiation of "T vt::CLI::Option::as<T>() const [with T=std::vector<std::string, std::allocator<std::string>>]" at line 7315

Testing - passed

Build log


PR tests (nvidia cuda 11.2, gcc-9, ubuntu, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

/vt/src/vt/pipe/pipe_manager.impl.h(135): warning: missing return statement at end of non-void function "vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&vt::vrt::collection::lb::GreedyLB::collectHandler, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::GreedyLB>]"
          detected during:
            instantiation of "auto vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&vt::vrt::collection::lb::GreedyLB::collectHandler, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::GreedyLB>]" 
/vt/src/vt/objgroup/proxy/proxy_objgroup.impl.h(221): here
            instantiation of "vt::objgroup::proxy::Proxy<ObjT>::PendingSendType vt::objgroup::proxy::Proxy<ObjT>::reduce<f,Op,Target,Args...>(Target, Args &&...) const [with ObjT=vt::vrt::collection::lb::GreedyLB, f=&vt::vrt::collection::lb::GreedyLB::collectHandler, Op=vt::collective::PlusOp, Target=vt::objgroup::proxy::ProxyElm<vt::vrt::collection::lb::GreedyLB>, Args=<vt::vrt::collection::lb::GreedyPayload>]" 
/vt/src/vt/vrt/collection/balance/greedylb/greedylb.cc(222): here

/vt/src/vt/pipe/pipe_manager.impl.h(135): warning: missing return statement at end of non-void function "vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&MyObj::handler, Target=vt::objgroup::proxy::ProxyElm<MyObj>]"
          detected during instantiation of "auto vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&MyObj::handler, Target=vt::objgroup::proxy::ProxyElm<MyObj>]" 
/vt/examples/callback/callback.cc(147): here

/vt/src/vt/pipe/pipe_manager.impl.h(135): warning: missing return statement at end of non-void function "vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&colHan, Target=vt::vrt::collection::VrtElmProxy<MyCol, vt::Index1D>]"
          detected during instantiation of "auto vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&colHan, Target=vt::vrt::collection::VrtElmProxy<MyCol, vt::Index1D>]" 
/vt/examples/callback/callback.cc(153): here

/vt/src/vt/pipe/pipe_manager.impl.h(135): warning: missing return statement at end of non-void function "vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&MyObj::handler, Target=vt::objgroup::proxy::ProxyElm<MyObj>]"
          detected during instantiation of "auto vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&MyObj::handler, Target=vt::objgroup::proxy::ProxyElm<MyObj>]" 
/vt/examples/callback/callback.cc(147): here

/vt/src/vt/pipe/pipe_manager.impl.h(135): warning: missing return statement at end of non-void function "vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&colHan, Target=vt::vrt::collection::VrtElmProxy<MyCol, vt::Index1D>]"
          detected during instantiation of "auto vt::pipe::PipeManager::makeSend<f,Target>(Target) [with f=&colHan, Target=vt::vrt::collection::VrtElmProxy<MyCol, vt::Index1D>]" 
/vt/examples/callback/callback.cc(153%0D%0A%0D%0A%0D%0A ==> And there is more. Read log. <==

Build log


PR tests (intel icpc, ubuntu, mpich)

Build for b492585 (2024-11-27 13:39:03 UTC)

remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhibited by limit max-total-size 
remark #11076: To get full report use -qopt-report=4 -qopt-report-phase ipo
remark #11074: Inlining inhibited by limit max-size 
remark #11074: Inlining inhi%0D%0A%0D%0A%0D%0A ==> And there is more. Read log. <==

Build log


PR tests (gcc-9, ubuntu, mpich, zoltan)

Build for b492585 (2024-11-27 13:39:03 UTC)

Compilation - successful

Testing - passed

Build log


@thearusable thearusable force-pushed the 2286-remove-gcc-8-support branch from f09015f to a076496 Compare September 30, 2024 16:29
@cz4rs cz4rs marked this pull request as ready for review November 14, 2024 16:13
@cz4rs cz4rs force-pushed the 2286-remove-gcc-8-support branch 4 times, most recently from f2bcaea to 5d703e0 Compare November 18, 2024 12:03
@@ -23,7 +23,7 @@
{
"communications": [
{
"bytes": 152.0,
"bytes": 160.0,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume this is a result of switching JSON validation from gcc-9 to clang-16.

Copy link
Contributor

@cz4rs cz4rs Nov 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lifflander
This has a simpler explanation 🤦 clang-16 build has VT_TRACE: 1 and gcc-9 build has VT_TRACE: 0.
This is consistent with what I see locally, there's no difference between gcc and clang as long as they are built with the same setting.

README.md Show resolved Hide resolved
docker-compose.yml Outdated Show resolved Hide resolved
@cz4rs cz4rs requested a review from cwschilly November 21, 2024 20:37
@cz4rs cz4rs force-pushed the 2286-remove-gcc-8-support branch from b42a1fa to a505c09 Compare November 22, 2024 17:07
Copy link
Contributor

@cwschilly cwschilly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

TagType second() const { return t2_; }
#pragma GCC diagnostic pop
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is really strange, and possibly a compiler bug that should be reduced and reported. I can't see any way that t2_ could be uninitialized, regardless of the constructor used, or any other possible constructor, since it has a default initializer.

Are you sure the warning isn't actually coming from something else nearby a use of this, and this inadvertently suppresses it when there's something real to be fixed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've spent some time scratching my head over this. As weird as it is, the warning seemed to come directly from this line.
I will give it another spin tomorrow to make sure.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

root@c43073bf8b2d:/build/vt# /usr/bin/g++ -DJSON_USE_IMPLICIT_CONVERSIONS=1 -DVT_NO_COLOR_ENABLED -I/vt/lib/CLI -I/build/vt/release -I/vt/src -I/vt/lib/json/include -I/vt/lib/brotli/c/include -I/vt/lib/libfort/lib -I/build/vt/lib/checkpoint/src -I/vt/lib/checkpoint/src -isystem /vt/lib/fmt/include -isystem /vt/lib/EngFormat-Cpp/include -isystem /vt/lib/yaml-cpp/include -O3 -DNDEBUG -Wall -Wextra -Wno-unknown-pragmas -Wnon-virtual-dtor -Wshadow -Wsign-compare -Wsuggest-override -pedantic -ftemplate-backtrace-limit=100 -Werror -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls -std=c++17 -o src/CMakeFiles/vt.dir/vt/collective/collective_scope.cc.o -c /vt/src/vt/collective/collective_scope.cc
In file included from /vt/src/vt/collective/reduce/reduce_scope.h:47,
                 from /vt/src/vt/collective/reduce/reduce_manager.h:47,
                 from /vt/src/vt/collective/collective_alg.h:52,
                 from /vt/src/vt/collective/collective_scope.cc:49:
In member function 'vt::TagType vt::collective::reduce::detail::TagPair::second() const',
    inlined from 'bool vt::collective::reduce::detail::TagPair::operator==(const vt::collective::reduce::detail::TagPair&) const' at /vt/src/vt/collective/reduce/scoping/strong_types.h:91:47,
    inlined from 'std::operator==<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>(const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&, const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&)::<lambda(auto:14&&, auto:15)> mutable [with auto:14 = const vt::collective::reduce::detail::TagPair&; auto:15 = std::integral_constant<long unsigned int, 1>]' at /usr/include/c++/13/variant:1266:3,
    inlined from 'constexpr _Res std::__invoke_impl(__invoke_other, _Fn&&, _Args&& ...) [with _Res = void; _Fn = operator==<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>(const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&, const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&)::<lambda(auto:14&&, auto:15)>; _Args = {const vt::collective::reduce::detail::TagPair&, integral_constant<long unsigned int, 1>}]' at /usr/include/c++/13/bits/invoke.h:61:36,
    inlined from 'constexpr typename std::__invoke_result<_Functor, _ArgTypes>::type std::__invoke(_Callable&&, _Args&& ...) [with _Callable = operator==<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>(const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&, const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&)::<lambda(auto:14&&, auto:15)>; _Args = {const vt::collective::reduce::detail::TagPair&, integral_constant<long unsigned int, 1>}]' at /usr/include/c++/13/bits/invoke.h:96:40,
    inlined from 'static constexpr decltype(auto) std::__detail::__variant::__gen_vtable_impl<std::__detail::__variant::_Multi_array<_Result_type (*)(_Visitor, _Variants ...)>, std::integer_sequence<long unsigned int, __indices ...> >::__visit_invoke(_Visitor&&, _Variants ...) [with _Result_type = std::__detail::__variant::__variant_idx_cookie; _Visitor = std::operator==<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>(const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&, const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&)::<lambda(auto:14&&, auto:15)>&&; _Variants = {const std::variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&}; long unsigned int ...__indices = {1}]' at /usr/include/c++/13/variant:1049:17,
    inlined from 'constexpr decltype(auto) std::__do_visit(_Visitor&&, _Variants&& ...) [with _Result_type = __detail::__variant::__variant_idx_cookie; _Visitor = operator==<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>(const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&, const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&)::<lambda(auto:14&&, auto:15)>; _Variants = {const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&}]' at /usr/include/c++/13/variant:1816:5,
    inlined from 'constexpr decltype(auto) std::__do_visit(_Visitor&&, _Variants&& ...) [with _Result_type = __detail::__variant::__variant_idx_cookie; _Visitor = operator==<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>(const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&, const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&)::<lambda(auto:14&&, auto:15)>; _Variants = {const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&}]' at /usr/include/c++/13/variant:1756:5,
    inlined from 'constexpr void std::__detail::__variant::__raw_idx_visit(_Visitor&&, _Variants&& ...) [with _Visitor = std::operator==<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>(const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&, const variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&)::<lambda(auto:14&&, auto:15)>; _Variants = {const std::variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>&}]' at /usr/include/c++/13/variant:183:44,
    inlined from 'constexpr bool std::operator==(const variant<_Types ...>&, const variant<_Types ...>&) [with _Types = {vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType}]' at /usr/include/c++/13/variant:1266:3,
    inlined from 'vt::collective::reduce::detail::ReduceStamp vt::collective::reduce::Reduce::reduceImmediate(vt::NodeType, MsgT*, vt::collective::reduce::detail::ReduceStamp, ReduceNumType) [with MsgT = vt::collective::CollectiveAlg::CollectiveMsg; void (* f)(MsgT*) = vt::collective::reduce::operators::ReduceCombine<>::msgHandler<vt::collective::CollectiveAlg::CollectiveMsg, vt::collective::reduce::operators::None<char>, vt::collective::reduce::operators::NoCombine>]' at /vt/src/vt/collective/reduce/reduce.impl.h:168:20:
/vt/src/vt/collective/reduce/scoping/strong_types.h:104:35: error: '*(const vt::collective::reduce::detail::TagPair*)((char*)&<unnamed> + offsetof(std::variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>,std::variant<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>::<unnamed>.std::__detail::__variant::_Variant_base<vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>::<unnamed>.std::__detail::__variant::_Move_assign_base<true, vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>::<unnamed>.std::__detail::__variant::_Copy_assign_base<true, vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>::<unnamed>.std::__detail::__variant::_Move_ctor_base<true, vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>::<unnamed>.std::__detail::__variant::_Copy_ctor_base<true, vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>::<unnamed>.std::__detail::__variant::_Variant_storage<true, vt::util::strong::detail::Strong<int, -1, vt::collective::reduce::detail::tags::TagTag>, vt::collective::reduce::detail::TagPair, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::SeqTag>, vt::util::strong::detail::Strong<long unsigned int, 18446744073709551615, vt::collective::reduce::detail::tags::UserIDTag>, vt::epoch::EpochType>::_M_u)).vt::collective::reduce::detail::TagPair::t2_' may be used uninitialized [-Werror=maybe-uninitialized]
  104 |   TagType second() const { return t2_; }
      |                                   ^~~
In file included from /vt/src/vt/collective/reduce/reduce.h:543,
                 from /vt/src/vt/collective/reduce/reduce_manager.impl.h:48,
                 from /vt/src/vt/collective/collective_alg.h:173:
/vt/src/vt/collective/reduce/reduce.impl.h: In member function 'vt::collective::reduce::detail::ReduceStamp vt::collective::reduce::Reduce::reduceImmediate(vt::NodeType, MsgT*, vt::collective::reduce::detail::ReduceStamp, ReduceNumType) [with MsgT = vt::collective::CollectiveAlg::CollectiveMsg; void (* f)(MsgT*) = vt::collective::reduce::operators::ReduceCombine<>::msgHandler<vt::collective::CollectiveAlg::CollectiveMsg, vt::collective::reduce::operators::None<char>, vt::collective::reduce::operators::NoCombine>]':
/vt/src/vt/collective/reduce/reduce.impl.h:168:31: note: '<anonymous>' declared here
  168 |   auto cur_id = id == detail::ReduceStamp{} ? generateNextID() : id;
      |                               ^~~~~~~~~~~~~
cc1plus: all warnings being treated as errors

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like the issue here is caused by passing the temporary to TagPair::operator== (nothing unusual about it as far as I can see). b492585 is just a workaround with a local variable.

My manual attempts at reduced replication were not successful, so I'll try to plug this into C-Reduce whenever I have some spare time.

@cz4rs cz4rs force-pushed the 2286-remove-gcc-8-support branch from 78bc187 to b492585 Compare November 27, 2024 13:39
@lifflander lifflander merged commit 2fd8152 into develop Dec 5, 2024
27 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.

Remove support for gcc-8
5 participants