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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|error: conversion of        |[13 Regression] error:
                   |register to a different     |conversion of register to a
                   |size in ‘view_convert_expr’ |different size in
                   |                            |‘view_convert_expr’
   Last reconfirmed|                            |2023-01-12
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Target Milestone|---                         |13.0

--- Comment #9 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Confirmed.
Here is a cleaned up testcase where you don't need the
-ftrivial-auto-var-init=zero option either; just -O3

```
struct S0 {
  int f0;
  short f1;
  unsigned f2 : 7;
  short f3;
} func_2_l_27;
int *g_389;
int safe_sub_func_int16_t_s_s(void);
void safe_lshift_func_uint8_t_u_s(int);
void func_23(struct S0 p_24, struct S0 p_25) {
  int *l_1051 = g_389;
  if (safe_sub_func_int16_t_s_s())
    for (;;)
      safe_lshift_func_uint8_t_u_s(p_24.f1);
  *l_1051 = p_25.f0;
}
void func_2(void) {
  struct S0 l_26[] = {4, 5, 4, 6, 4, 5, 4, 6};
  __builtin_clear_padding (&l_26);
  func_23(l_26[1], func_2_l_27);
}
```

Reply via email to