Hi Argyrios, This changes the behavior of RAV subclasses which override the Traverse* methods. Is that intended?
Thanks, Matt On Thu, Mar 15, 2012 at 11:07, Argyrios Kyrtzidis <[email protected]> wrote: > Author: akirtzidis > Date: Thu Mar 15 13:07:19 2012 > New Revision: 152820 > > URL: http://llvm.org/viewvc/llvm-project?rev=152820&view=rev > Log: > Make RecursiveASTVisitor to traverse certain statements using data recursion > to avoid a stack overflow with extreme cases. > > Part of rdar://10941790. > > Added: > cfe/trunk/test/Index/index-many-logical-ops.c > Modified: > cfe/trunk/include/clang/AST/RecursiveASTVisitor.h > > Modified: cfe/trunk/include/clang/AST/RecursiveASTVisitor.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/RecursiveASTVisitor.h?rev=152820&r1=152819&r2=152820&view=diff > ============================================================================== > --- cfe/trunk/include/clang/AST/RecursiveASTVisitor.h (original) > +++ cfe/trunk/include/clang/AST/RecursiveASTVisitor.h Thu Mar 15 13:07:19 2012 > @@ -148,6 +148,12 @@ > /// TypeLocs. > bool shouldWalkTypesOfTypeLocs() const { return true; } > > + /// \brief Return whether \param S should be traversed using data recursion > + /// to avoid a stack overflow with extreme cases. > + bool shouldUseDataRecursionFor(Stmt *S) const { > + return isa<BinaryOperator>(S) || isa<UnaryOperator>(S) || > isa<CaseStmt>(S); > + } > + > /// \brief Recursively visit a statement or expression, by > /// dispatching to Traverse*() based on the argument's dynamic type. > /// > @@ -397,8 +403,102 @@ > bool TraverseDeclContextHelper(DeclContext *DC); > bool TraverseFunctionHelper(FunctionDecl *D); > bool TraverseVarHelper(VarDecl *D); > + > + bool Walk(Stmt *S); > + > + struct EnqueueJob { > + Stmt *S; > + Stmt::child_iterator StmtIt; > + > + EnqueueJob(Stmt *S) : S(S), StmtIt() { > + if (Expr *E = dyn_cast_or_null<Expr>(S)) > + S = E->IgnoreParens(); > + } > + }; > + bool dataTraverse(Stmt *S); > }; > > +template<typename Derived> > +bool RecursiveASTVisitor<Derived>::dataTraverse(Stmt *S) { > + > + SmallVector<EnqueueJob, 16> Queue; > + Queue.push_back(S); > + > + while (!Queue.empty()) { > + EnqueueJob &job = Queue.back(); > + Stmt *CurrS = job.S; > + if (!CurrS) { > + Queue.pop_back(); > + continue; > + } > + > + if (getDerived().shouldUseDataRecursionFor(CurrS)) { > + if (job.StmtIt == Stmt::child_iterator()) { > + if (!Walk(CurrS)) return false; > + job.StmtIt = CurrS->child_begin(); > + } else { > + ++job.StmtIt; > + } > + > + if (job.StmtIt != CurrS->child_end()) > + Queue.push_back(*job.StmtIt); > + else > + Queue.pop_back(); > + continue; > + } > + > + Queue.pop_back(); > + TRY_TO(TraverseStmt(CurrS)); > + } > + > + return true; > +} > + > +template<typename Derived> > +bool RecursiveASTVisitor<Derived>::Walk(Stmt *S) { > + > +#define DISPATCH_WALK(NAME, CLASS, VAR) \ > + return getDerived().WalkUpFrom##NAME(static_cast<CLASS*>(VAR)); > + > + if (BinaryOperator *BinOp = dyn_cast<BinaryOperator>(S)) { > + switch (BinOp->getOpcode()) { > +#define OPERATOR(NAME) \ > + case BO_##NAME: DISPATCH_WALK(Bin##NAME, BinaryOperator, S); > + > + BINOP_LIST() > +#undef OPERATOR > + > +#define OPERATOR(NAME) \ > + case BO_##NAME##Assign: \ > + DISPATCH_WALK(Bin##NAME##Assign, CompoundAssignOperator, S); > + > + CAO_LIST() > +#undef OPERATOR > + } > + } else if (UnaryOperator *UnOp = dyn_cast<UnaryOperator>(S)) { > + switch (UnOp->getOpcode()) { > +#define OPERATOR(NAME) \ > + case UO_##NAME: DISPATCH_WALK(Unary##NAME, UnaryOperator, S); > + > + UNARYOP_LIST() > +#undef OPERATOR > + } > + } > + > + // Top switch stmt: dispatch to TraverseFooStmt for each concrete FooStmt. > + switch (S->getStmtClass()) { > + case Stmt::NoStmtClass: break; > +#define ABSTRACT_STMT(STMT) > +#define STMT(CLASS, PARENT) \ > + case Stmt::CLASS##Class: DISPATCH_WALK(CLASS, CLASS, S); > +#include "clang/AST/StmtNodes.inc" > + } > + > +#undef DISPATCH_WALK > + > + return true; > +} > + > #define DISPATCH(NAME, CLASS, VAR) \ > return getDerived().Traverse##NAME(static_cast<CLASS*>(VAR)) > > @@ -407,6 +507,9 @@ > if (!S) > return true; > > + if (getDerived().shouldUseDataRecursionFor(S)) > + return dataTraverse(S); > + > // If we have a binary expr, dispatch to the subcode of the binop. A smart > // optimizer (e.g. LLVM) will fold this comparison into the switch stmt > // below. > > Added: cfe/trunk/test/Index/index-many-logical-ops.c > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/index-many-logical-ops.c?rev=152820&view=auto > ============================================================================== > --- cfe/trunk/test/Index/index-many-logical-ops.c (added) > +++ cfe/trunk/test/Index/index-many-logical-ops.c Thu Mar 15 13:07:19 2012 > @@ -0,0 +1,2011 @@ > +// RUN: c-index-test -index-file %s | FileCheck %s > + > +// rdar://10941790 > +// Check that we don't get stack overflow trying to index a huge number of > +// logical operators. > + > +// CHECK: [indexDeclaration]: kind: function | name: foo > +int foo(int x) { > + return > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x && > + x; > +} > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
