https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92650
Bug ID: 92650
Summary: internal compiler error: canonical types differ for
identical types
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ldalessandro at gmail dot com
Target Milestone: ---
Created attachment 47349
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47349&action=edit
test case
Following code triggers ICE on (godbolt) trunk only. See
https://godbolt.org/z/q4CrvX.
It's hard for me to disambiguate from other reports with the same error
message, but it seems new.
#include <range/v3/all.hpp>
struct Wrapper {
int a[1];
constexpr operator int() const { return a[0]; }
};
int main() {
std::vector<int> a;
auto all = ranges::views::all(a);
auto zip = ranges::views::zip(a);
Wrapper b;
*all.begin() = b;
*zip.begin() = b;
}