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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2022-04-29 00:00:00         |2025-09-05
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |WAITING

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I think this was reduced too much.


Because mask._S_copy___d; is not set in the testcase.

So we get:
```
  MEM[(struct __as_base  &)&mask] ={v} {CLOBBER(bob)};
  mask._M_dataplus._M_p = &mask.D.2786._M_local_buf;
  if (&mask.D.2786._M_local_buf >= "RC")
    goto <bb 3>; [33.00%]
  else
    goto <bb 5>; [67.00%]

  <bb 5> [local count: 719407024]:
  goto <bb 4>; [100.00%]

  <bb 3> [local count: 354334800]:
  _11 = MEM[(char *)&mask + 10B];
  _12 = mask._S_copy___d;
```

> default brace-initialized 
that is not have C++20 works though. The rules in C++20 changed such that
`std::Trans_NS___cxx11_basic_string<char> mask{};` will call the constructor
with no arguments.

Reply via email to