https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109112

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jason at gcc dot gnu.org
   Last reconfirmed|                            |2023-07-13
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #5 from Jason Merrill <jason at gcc dot gnu.org> ---
Note that the __builtin_unreachable variant is optimized as expected:

struct S { bool x; };
void do_something();
void fn(S s) {
  if (s.x) __builtin_unreachable ();
  if (s.x) do_something();
}

It's unfortunate that [[assume (x)]] is currently so much less useful than if
(!x) __builtin_unreachable(), which expresses almost the same thing.

Reply via email to