[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-09 Thread ppalka at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 Patrick Palka changed: What|Removed |Added See Also||https://gcc.gnu.org/bugzill

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-08 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #17 from Jonathan Wakely --- Yep, [temp.constr.atomic] p3: "If, at different points in the program, the satisfaction result is different for identical atomic constraints and template arguments, the program is ill-formed, no diagnost

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-08 Thread ldalessandro at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #16 from Luke Dalessandro --- (In reply to Luke Dalessandro from comment #15) > Thanks for looking at this. > [...] > > Also, from what I understand, I should report Andrew's reduced case as a bug > in clang, and msvc (and maybe nvc

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-06 Thread ldalessandro at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #15 from Luke Dalessandro --- Thanks for looking at this. I'd like to report it back to boost as an issue, but I want to make sure I understand what to tell them. 1. The error produce by Andrew's reduction ("error: satisfaction of a

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 Jonathan Wakely changed: What|Removed |Added CC||jason at gcc dot gnu.org --- Comment

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-06 Thread redi at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #13 from Jonathan Wakely --- Yes, I think GCC 13 is correct to reject it (but not correct to ICE!) Either way, I don't see how it can be a libstdc++ bug, the concept is defined the same way, it's the compiler that diagnoses the bug.

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #12 from Andrew Pinski --- (In reply to Andrew Pinski from comment #11) > Which does make it look invalid for the reasons why I mentioned. clang > compiles the above just fine and so does GCC 12.x. I should note the ICE does not ha

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #11 from Andrew Pinski --- Reduced down to: ``` template concept cmpeq = requires(_Tp __t, _Tp __u) { { __u != __t } ; }; template struct iterator_interface { friend constexpr bool operator>=(D lhs, D rhs) requires cmpeq { return

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #10 from Andrew Pinski --- Note is_constructible_v changes answers between the two places I think.

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #9 from Andrew Pinski --- (In reply to Luke Dalessandro from comment #8) > > Right. > > I was sort of surprised that that boost code could get away with a requires > on any of those CRTP functions where it uses the CRTP "D" type, b

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread ldalessandro at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #8 from Luke Dalessandro --- (In reply to Andrew Pinski from comment #7) > I think the error message is correct. > > In the original code we have: > ``` > ... > template > concept incrementable = regular<_Iter> && requires(_It

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #7 from Andrew Pinski --- I think the error message is correct. In the original code we have: ``` ... template concept incrementable = regular<_Iter> && requires(_Iter __i) { { __i++ } -> same_as<_Iter>; }; ... namespace boos

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #6 from Andrew Pinski --- (In reply to Luke Dalessandro from comment #5) > Ah, I didn't realize that. If you want to close one of the two issues that's > fine with me. I sort of thought two different things were going on. The ICE mi

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread ldalessandro at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #5 from Luke Dalessandro --- Ah, I didn't realize that. If you want to close one of the two issues that's fine with me. I sort of thought two different things were going on.

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #4 from Andrew Pinski --- (In reply to Luke Dalessandro from comment #3) > One thing to note about this failure, the concept evaluation changes in > gcc-13. The when I try with current trunk it actually ICEs in addition. The ICE on

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread ldalessandro at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #3 from Luke Dalessandro --- One thing to note about this failure, the concept evaluation changes in gcc-13. The when I try with current trunk it actually ICEs in addition. I reported that ICE as https://gcc.gnu.org/bugzilla/show_bu

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread ldalessandro at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 --- Comment #2 from Luke Dalessandro --- Created attachment 55009 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=55009&action=edit Preprocessed source copied from the godbolt live link included in the original text.

[Bug c++/109751] boost iterator_interface fails concept check starting in gcc-13

2023-05-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109751 Andrew Pinski changed: What|Removed |Added Component|libstdc++ |c++ --- Comment #1 from Andrew Pinski