https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96414
--- Comment #1 from Paul Keir <pkeir at outlook dot com> ---
constexpr int lt_fun(const char& c1, const char& c2) {
return c1 < c2;
}
constexpr bool doit()
{
char *pc = new char;
const char* s = "a";
*pc = 'b';
lt_fun(*s, *pc); // a < b
*pc = 'a';
bool lt = lt_fun(*s, *pc); // a < a
delete pc;
return !lt;
}
int main(int argc, char *argv[])
{
static_assert(doit());
return doit() ? 0 : -1;
}
