<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Clang shows multiple unreachable code warnings when one warning is sufficient"
href="https://llvm.org/bugs/show_bug.cgi?id=30631">30631</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Clang shows multiple unreachable code warnings when one warning is sufficient
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>trunk
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>Frontend
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>arphaman@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Typically, when clang is given the '-Wunreachable-code' option, it would show a
minimal number of warnings when it encounters unreachable statements.
However, clang shows multiple warnings for unreachable code that's mixed
together with statements like 'return'. For example, clang will show two
unreachable warnings when the code below is compiled with '-Wunreachable-code':
int foo() {
return 0;
}
int bar(int x) {
if (x == 0)
return x + 1;
else
return x;
foo(); // warning will be shown here
return 0;
foo(); // and another warning will be shown here
}</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>