<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:cherepan@mccme.ru" title="Alexander Cherepanov <cherepan@mccme.ru>"> <span class="fn">Alexander Cherepanov</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - Wrong "error: cannot jump from this indirect goto statement to one of its possible targets""
   href="https://llvm.org/bugs/show_bug.cgi?id=27645">bug 27645</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>RESOLVED
           </td>
           <td>REOPENED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>INVALID
           </td>
           <td>---
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - Wrong "error: cannot jump from this indirect goto statement to one of its possible targets""
   href="https://llvm.org/bugs/show_bug.cgi?id=27645#c2">Comment # 2</a>
              on <a class="bz_bug_link 
          bz_status_REOPENED "
   title="REOPENED --- - Wrong "error: cannot jump from this indirect goto statement to one of its possible targets""
   href="https://llvm.org/bugs/show_bug.cgi?id=27645">bug 27645</a>
              from <span class="vcard"><a class="email" href="mailto:cherepan@mccme.ru" title="Alexander Cherepanov <cherepan@mccme.ru>"> <span class="fn">Alexander Cherepanov</span></a>
</span></b>
        <pre>"char a[n]" is VLA, no doubt here. And jumping over this declaration would be
wrong.

The problem is that nobody jumps over VLA declaration. All gotos in the example
are effectively no-op, they don't jump over anything at all. Only jumping from
outside the scope of VLA to inside is prohibited, jumps exclusively outside or
exclusively inside are ok.

The relevant part of C11, 6.8.6.1p1: "A goto statement shall not jump from
outside the scope of an identifier having a variably modified type to inside
the scope of that identifier."

Thus, I don't think this bug could be classified as INVALID and I'm reopening
it.

OTOH indirect gotos are a gcc extension and you could as well not support it at
all or support it only partially. So feel free to close as WONTFIX.

FTR clang seem to emit this error when there is an indirect "goto" outside the
scope of a VLA and there is a label inside the scope of a VLA whose address is
taken.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>