https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96761
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2020-08-24 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW CC| |jason at gcc dot gnu.org, | |mpolacek at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Shorter testcase (for -std=c++14 and later, at least for C++98 I think it is correctly ambiguous): typedef decltype(sizeof 0) size_t; void foo (int); void foo (const char *); void bar () { foo (size_t (0)); } I think the problem is that convert_to_integer_maybe_fold will ignore the dofold argument if the expression is constant. So, shall we punt on folding that, or just punt on folding it in the problematic case (possibly wrapped 0 constant), something else?