<html>
<head>
<base href="http://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 --- - Missing nodes in ForStmt"
href="http://llvm.org/bugs/show_bug.cgi?id=19037">19037</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Missing nodes in ForStmt
</td>
</tr>
<tr>
<th>Product</th>
<td>clang
</td>
</tr>
<tr>
<th>Version</th>
<td>3.4
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>Windows NT
</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>libclang
</td>
</tr>
<tr>
<th>Assignee</th>
<td>unassignedclangbugs@nondot.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>vpozdyayev@gmail.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvmbugs@cs.uiuc.edu
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>Since null nodes are skipped while traversing the tree, it is impossible to
detect which form of a reduced for statement is in effect:
int main( int, char ** ) {
for( 0; ; )
break;
for( ; 0; )
break;
for( ; ; 0 )
break;
}
Quoting from a tree dump:
COMPOUND_STMT @ (1, 26) (id=6, can=6 ())
FOR_STMT @ (2, 2) (id=7, can=7 ())
INTEGER_LITERAL @ (2, 7) (id=8, can=8 (), type={INT, tid=5, tcan=5})
BREAK_STMT @ (3, 3) (id=9, can=9 ())
FOR_STMT @ (4, 2) (id=10, can=10 ())
UNEXPOSED_EXPR @ (4, 9) (id=11, can=11 (), type={BOOL, tid=7, tcan=7})
INTEGER_LITERAL @ (4, 9) (id=12, can=12 (), type={INT, tid=5, tcan=5})
BREAK_STMT @ (5, 3) (id=13, can=13 ())
FOR_STMT @ (6, 2) (id=14, can=14 ())
INTEGER_LITERAL @ (6, 11) (id=15, can=15 (), type={INT, tid=5, tcan=5})
BREAK_STMT @ (7, 3) (id=16, can=16 ())</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>