<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:richard-llvm@metafoo.co.uk" title="Richard Smith <richard-llvm@metafoo.co.uk>"> <span class="fn">Richard Smith</span></a>
</span> changed
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - 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>REOPENED
</td>
<td>RESOLVED
</td>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>richard-llvm@metafoo.co.uk
</td>
</tr>
<tr>
<td style="text-align:right;">Resolution</td>
<td>---
</td>
<td>INVALID
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - 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#c4">Comment # 4</a>
on <a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED INVALID - 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:richard-llvm@metafoo.co.uk" title="Richard Smith <richard-llvm@metafoo.co.uk>"> <span class="fn">Richard Smith</span></a>
</span></b>
<pre>GCC fails to validate that indirect gotos are sane (note that it accepts your
code even if you change '&&first' to '&&second'). Clang assumes that any
indirect goto can jump to any possible target within the function.
The dynamic execution behavior of your program is irrelevant. Statically, it
has an indirect goto (the first one), and it has a label whose address is taken
('second:'), and it would be ill-formed to jump from that goto to that label,
so the program is ill-formed.
We are not likely to change this behavior to allow your code.</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>