[Bug c++/104615] New: [Concepts] ICE in explicit instantiation when multiple candidates are valid (CWG2421)

roi.jacobson1 at gmail dot com gcc-bugzilla@gcc.gnu.org
Mon Feb 21 17:35:08 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104615

            Bug ID: 104615
           Summary: [Concepts] ICE in explicit instantiation when multiple
                    candidates are valid (CWG2421)
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: roi.jacobson1 at gmail dot com
  Target Milestone: ---

#include <concepts>
template<class T>
struct B {
    int f() requires (!std::same_as<T, char>) {
        return 0;
    }
    int f() requires (!std::same_as<T, char> && !std::same_as<T, float>) {
        return 1;
    }
};
template struct B<int>;


This crashes GCC with "<source>:12:23: error: Two symbols with same
comdat_group are not linked by the same_comdat_group list." as both functions
are compiled and have the same mangling.

Also, CWG2421 is still open about what the actual behavior should be in this
case.


More information about the Gcc-bugs mailing list