Displaying 1 result from an estimated 1 matches for "for_all_stmts".
2009 Jun 15
3
[LLVMdev] Some df_iterator and po_iterator issues
Hi @llvm,
below is a copy of a message I sent to clang a hour before. I guess it's
more appropriate here.
--snip--
While trying to eleminate as much std::tr1::function as possible I
stumbled over a design flaw in llvm::df_iterator.
Consider the following code:
void for_all_stmts(Stmt* S, const std::tr1::function<void(Stmt*)>& fn)
{
if (S)
{
fn(S);
for (Stmt::child_iterator i = S->child_begin(), e = S->child_end();
i != e; ++i)
{
for_all_stmts(*i, fn);
}
}
}
In a first step I want to replace this with:
void for_all_stmts(Stmt*...