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

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2025-02-05
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
           Keywords|                            |wrong-code
           Priority|P3                          |P4

--- Comment #1 from anlauf at gcc dot gnu.org ---
Confirmed.  All versions since at least gcc-7 fail.

With finalization commented out, I see:

void makeaap (struct aaptype & restrict a)
{
  {
    struct aaptype aaptype.2;

    aaptype.2.i = 0;
    *a = aaptype.2;
  }

as it should, but the original testcase has:

void makeaap (struct aaptype & restrict a)
{
  {
    struct array00_aaptype desc.6;

    desc.6.dtype = {.elem_len=4, .version=0, .rank=0, .type=5};
    desc.6.data = (void * restrict) a;
    desc.6.span = (integer(kind=8)) desc.6.dtype.elem_len;
    __final_m_Aaptype (&desc.6, 4, 0);
  }

Clearly wrong.

Reply via email to