https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120622
Bug ID: 120622 Summary: Compilation error ( no match for operator==) since libstdc++ commit r15-4475-g7ed561f63e7955 Product: gcc Version: 15.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: jamborm at gcc dot gnu.org CC: jwakely.gcc at gmail dot com Target Milestone: --- Host: x86_64-linux-gnu Target: x86_64-linux-gnu The openSUSE package pythran fails to build with GCC 15 because of a new compilation error: ./pythonic/builtins/map.hpp:129:36: error: no match for 'operator==' (operand types are 'std::__tuple_element_t<0, std::tuple<{anonymous}::pythonic::numpy::ndenumerate_iterator<{anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int, long int> > > > >' {aka 'const {anonymous}::pythonic::numpy::ndenumerate_iterator<{anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int, long int> > >'} and 'std::__tuple_element_t<0, std::tuple<{anonymous}::pythonic::numpy::ndenumerate_iterator<{anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int, long int> > > > >' {aka 'const {anonymous}::pythonic::numpy::ndenumerate_iterator<{anonymous}::pythonic::types::ndarray<long int, {anonymous}::pythonic::types::pshape<long int, long int> > >'}) The code compiles fine with GCC 14. I have bisected the failure to r15-4475-g7ed561f63e7955 (Jonathan Wakely: libstdc++: Inline memmove optimizations for std::copy etc. [PR115444]). I will attach two reproducers, one is a tarball with the original source and all necessary includes, the second one is single file with 107 lines that only needs libstdc++ vector and tuple headers that I obtained by brute force and that hopefully exhibits the same issue. If this is in fact somehow a user error, my apologies for reporting it but it but I'd appreciate any information about it that I could report upstream and use to temporarily fix the package.