https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
Jakub Jelinek changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
--- Comment #10 from CVS Commits ---
The master branch has been updated by Jakub Jelinek :
https://gcc.gnu.org/g:3bfa96895b3219afd93a7038850baef4b63c1f82
commit r11-7279-g3bfa96895b3219afd93a7038850baef4b63c1f82
Author: Jakub Jelinek
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
--- Comment #9 from Jakub Jelinek ---
Ah, the reason it only ICEs with -std=c++20 is that C++17 and earlier don't
allow virtual functions to be constexpr and therefore
potential_constant_expression_1 doesn't let it try to evaluate the
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
--- Comment #8 from Jakub Jelinek ---
We certainly can (and IMHO should) do:
--- gcc/cp/cp-gimplify.c.jj 2021-02-10 07:52:32.702901304 +0100
+++ gcc/cp/cp-gimplify.c2021-02-17 16:06:03.045953720 +0100
@@ -1386,7 +1386,7 @@
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
Jakub Jelinek changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
--- Comment #6 from Jakub Jelinek ---
template struct A { T c; };
template struct B {
A d;
constexpr T operator->() { return d.c; }
B(B &&);
};
struct C {
virtual void foo ();
void bar (B h) { h->foo (); }
};
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
--- Comment #5 from Marek Polacek ---
Started with r11-5685.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #4
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99132
Marek Polacek changed:
What|Removed |Added
Summary|ICE in C++20 mode for |[11 Regression] ICE in