<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/99288>99288</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [Flang] No error checking when nested structure statement has no field name
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            flang:frontend
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          ohno-fj
      </td>
    </tr>
</table>

<pre>
    ```
Version of flang-new : 19.0.0(73447a3302541c343525570222b318e7f94f9402)/AArch64
```

`structure` statement is an extension, but Flang-new supports it.  
A nested `structure` statement must have at least one field name, but attached program does not specify a field name.  
However, Flang-new does not detect error during compilation and does not output error message.  
Gfortran and ifort output compilation error message.

The following are the test program, Flang-new, Gfortran and ifort compilation/execution result.

3-P-405-structure-inner01_2.f90:
```fortran
  structure /tp1/
    integer(kind=4) :: ma0 = 10
    integer(kind=4) :: ma1
    real(kind=8) :: mb0
    real(kind=8) :: mb1 = 2.0
    structure /tp2/
      integer(kind=8) :: za0 = 50
    end structure
  end structure

  record /tp1/ a
  record /tp2/ b

  print *, a
  print *, b
end
```

```
$ flang-new 3-P-405-structure-inner01_2.f90
$
```

```
$ gfortran 3-P-405-structure-inner01_2.f90 -fdec-structure
3-P-405-structure-inner01_2.f90:6:19:

    6 |     structure /tp2/
      |                   1
Error: Invalid character in name at (1)
3-P-405-structure-inner01_2.f90:9:5:

    9 |   end structure
      |     1
Error: Expecting END PROGRAM statement at (1)
3-P-405-structure-inner01_2.f90:12:15:

   12 |   record /tp2/ b
      |               1
Error: Derived type â€˜tp2’ at (1) is being used before it is defined
$
```

```
$ ifort -diag-disable=10448 3-P-405-structure-inner01_2.f90
3-P-405-structure-inner01_2.f90(6): error #7038: A nested structure declaration must have at least one field name in the field list.
    structure /tp2/
---------------^
compilation aborted for 3-P-405-structure-inner01_2.f90 (code 1)
$
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVl-TmzYQ_zTyyw4eIYGBBz-48TntQ9NMptPXjkALKMESI4m7XD99RzYY7PriS5mbu2PZP7_d_WlXwjnVaMQtSX8h6X4lBt8auzWtNlH9dVUa-bolGzr-0D2hu7_QOmU0mBrqTugm0vgChO8gLtZ0TQnLM54kmeCcsjSJK57wlKVpRhljJY9zzOoiqYuEMsIKwg67na3aTXJ2fhPrInTeDpUfLJINBeeFxyNqD8qB0IDfPeqAibAPUA4eDhdcbuh7Y70D5dcAZ3c70Og8Snjb73FwHlrxjCA8dCicB6MRaoWdBC2OOEUS3ouqRQm9NY0VR5AGHWjjwfVYqfoVxMLqAuFX84LPaIOXGevFVKLHygNaayzIwSrdQGWOveqED5UXWs7KZvD9MCkf0TnRzHE-1sZ6K84mKrxM-kt_17bLyv_ZItSm68xLwCAsgm8RPDo_JXyVQni5E3IRi7ADfsdqOMW16IbOXwXk0ecooWl06UuktEZL47_Zui4o4bsbnozRzlKAix0QdvB9TNhh-gSgtMcmVD3_prQkfJ8QVgTqBvYeBQXC9xDTdxvEs6ZF0c1q-VKtpO9Ti0_h2XqhfpMNu8rmDrylw3_GfNKFP9Ry9jmJ7winTxYrY-VcShD3vgRYUF5b9lZpD4TtAiXEXelogVr--OhfCVmyGDqPyDKZ_Jz_ZiLwA_cQ1RKr6KZ0jwm8IXwXFzOTL93ZAMk-wDv6PqldPyMbn8JhDgT4TT-LTkmoWmFF5dGC0qcpFGYaYXkcxu87MQe46R3IxYjlLrGWUG_BPX3vsfJhqDx92sPnL398_LL7fTGAfx5izMKvOyBjNqJ4i7NvFfUW8x6tekYJ_rVHIE-M5JQUefA1_l8sYIfVVGJIcHAoocTaWAR1WlkSa6VR_k9-nmdqJJVoIqmcKDskfB_TJMnfdyIeKbF8E-rOd-NiIIxnlOdBcFmdM0MlVp2w50XycG0GCoYNcpZ0yk3T_4esj64fkj6d5Vc7sTQ2AKuNfXhwCcsrIxFmer3VhJXcclnwQqxwG2csZpTHSbZqt0WZCyYwFzlP85wWWbyp0wIxkwWtMlGs1JZRltAszmiWFjRbS7aRjNdpjjkvEpqThOJRqG7ddc_HtbHNSjk34LYoWJ6vOlFi5063MsZOE4_wXW2N9mFeMhbuanYbTKNyaBxJaCimm5155bvTre60nEm6h09m7GfVYvUtMPOlRf3fhs6HsBXhirFo32qw3bb1vnfhmLEDYYdG-XYo15U5EnYI0cc_UW_NV6w8YYdTXo6wwzm15y37NwAA___fIgmU">