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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
            Summary|ICE: verify_gimple failed   |[13/14/15 Regression] ICE:
                   |with asan.                  |verify_gimple failed with
                   |                            |asan.
   Last reconfirmed|                            |2024-10-18
   Target Milestone|---                         |13.4

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
Slightly better testcase:
```
struct a { char b; };
void c(void);
int d;
__attribute__((returns_twice, const))
int e(struct a);
void h() {
  struct a *f;
  int *g;
  if (d)
    c(); 
  *g = e(*f);
}
```

Note e needs to be either pure or const too.
I am thinking the best way to solve this is add a new copy of the struct
beforehand but I am not sure if that would work for some C++ code where some
structs are not "copiable".

Reply via email to