On Thu, Sep 16, 2010 at 11:28 AM, John McCall <[email protected]> wrote:
> On Sep 15, 2010, at 6:25 PM, Zhongxing Xu wrote: > > Modified: cfe/trunk/include/clang/Analysis/FlowSensitive/DataflowSolver.h > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Analysis/FlowSensitive/DataflowSolver.h?rev=114056&r1=114055&r2=114056&view=diff > > > ============================================================================== > > --- cfe/trunk/include/clang/Analysis/FlowSensitive/DataflowSolver.h > (original) > > +++ cfe/trunk/include/clang/Analysis/FlowSensitive/DataflowSolver.h Wed > Sep 15 20:25:47 2010 > > @@ -273,8 +273,11 @@ > > void ProcessBlock(const CFGBlock* B, bool recordStmtValues, > > dataflow::forward_analysis_tag) { > > > > - for (StmtItr I=ItrTraits::StmtBegin(B), E=ItrTraits::StmtEnd(B); > I!=E;++I) > > - ProcessStmt(*I, recordStmtValues, AnalysisDirTag()); > > + for (StmtItr I=ItrTraits::StmtBegin(B), E=ItrTraits::StmtEnd(B); > I!=E;++I) { > > + CFGElement E = *I; > > + if (CFGStmt S = E.getAs<CFGStmt>()) > > + ProcessStmt(S, recordStmtValues, AnalysisDirTag()); > > + } > > > > TF.VisitTerminator(const_cast<CFGBlock*>(B)); > > } > > @@ -284,8 +287,11 @@ > > > > TF.VisitTerminator(const_cast<CFGBlock*>(B)); > > > > - for (StmtItr I=ItrTraits::StmtBegin(B), E=ItrTraits::StmtEnd(B); > I!=E;++I) > > - ProcessStmt(*I, recordStmtValues, AnalysisDirTag()); > > + for (StmtItr I=ItrTraits::StmtBegin(B), E=ItrTraits::StmtEnd(B); > I!=E;++I) { > > + CFGElement E = *I; > > + if (CFGStmt S = E.getAs<CFGStmt>()) > > + ProcessStmt(S, recordStmtValues, AnalysisDirTag()); > > + } > > } > > C++ forbids this sort of immediate redeclaration of names that were > introduced in a 'for' scope ("E" in both cases); basically, it's all > treated as the same scope according to the standard. This was causing build > failures, which I fixed for you in r114059, but please watch out for this in > the future. > > John. Yes. This was my bug. Thanks for reminding.
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
