Skip to content

ATLAS_2020_I1790439 does not compile with gcc 5

Marian Heil requested to merge (removed):gcc5_tuple into release-3-1-x

When compiling rivet 3.1.2 with gcc 5.3 I got:

pluginATLAS/ATLAS_2020_I1790439.cc:97:9: error: converting to ‘std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std:
:allocator<char> >, int, int, int>’ from initializer list would use explicit constructor ‘constexpr std::tuple< <template-parameter-1-1
> >::tuple(_UElements&& ...) [with _UElements = {const char (&)[14], int, int, int}; <template-parameter-2-2> = void; _Elements = {std:
:__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int}]’

I think this is related to N4387 (see notes here), i.e.

// std::tuple<int, int> a  = {5,6}; // does not work before gcc 6
std::tuple<int, int> b{7,8};
auto c = std::make_tuple(7,8);

Merge request reports