[cfe-commits] r151464 - in /cfe/trunk: lib/AST/ExprConstant.cpp test/Sema/many-logical-ops.c

Argyrios Kyrtzidis akyrtzi at gmail.com
Sat Feb 25 15:21:37 PST 2012


Author: akirtzidis
Date: Sat Feb 25 17:21:37 2012
New Revision: 151464

URL: http://llvm.org/viewvc/llvm-project?rev=151464&view=rev
Log:
Revert r151460 as it is not enough to address the issue.

Original log:
When evaluating integer expressions handle logical operators outside
VisitBinaryOperator() to reduce stack pressure for source with huge number
of logical operators.

Fixes rdar://10913206.

Removed:
    cfe/trunk/test/Sema/many-logical-ops.c
Modified:
    cfe/trunk/lib/AST/ExprConstant.cpp

Modified: cfe/trunk/lib/AST/ExprConstant.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/AST/ExprConstant.cpp?rev=151464&r1=151463&r2=151464&view=diff
==============================================================================
--- cfe/trunk/lib/AST/ExprConstant.cpp (original)
+++ cfe/trunk/lib/AST/ExprConstant.cpp Sat Feb 25 17:21:37 2012
@@ -406,7 +406,7 @@
   /// certain things in certain situations.
   struct EvalInfo {
     ASTContext &Ctx;
-
+CCValue WVal;
     /// EvalStatus - Contains information about the evaluation.
     Expr::EvalStatus &EvalStatus;
 
@@ -1205,10 +1205,10 @@
 static bool EvaluateAsBooleanCondition(const Expr *E, bool &Result,
                                        EvalInfo &Info) {
   assert(E->isRValue() && "missing lvalue-to-rvalue conv in bool condition");
-  CCValue Val;
-  if (!Evaluate(Val, Info, E))
+  //CCValue Val;
+  if (!Evaluate(Info.WVal, Info, E))
     return false;
-  return HandleConversionToBool(Val, Result);
+  return HandleConversionToBool(Info.WVal, Result);
 }
 
 template<typename T>
@@ -4095,9 +4095,6 @@
   }
 
   bool VisitCallExpr(const CallExpr *E);
-  bool VisitBinLAnd(const BinaryOperator *E);
-  bool VisitBinLOr(const BinaryOperator *E);
-  bool VisitBinLogicalOp(const BinaryOperator *E);
   bool VisitBinaryOperator(const BinaryOperator *E);
   bool VisitOffsetOfExpr(const OffsetOfExpr *E);
   bool VisitUnaryOperator(const UnaryOperator *E);
@@ -4498,50 +4495,6 @@
   return Result;
 }
 
-// Handle logical operators outside VisitBinaryOperator() to reduce
-// stack pressure for source with huge number of logical operators.
-bool IntExprEvaluator::VisitBinLAnd(const BinaryOperator *E) {
-  return VisitBinLogicalOp(E);
-}
-bool IntExprEvaluator::VisitBinLOr(const BinaryOperator *E) {
-  return VisitBinLogicalOp(E);
-}
-
-bool IntExprEvaluator::VisitBinLogicalOp(const BinaryOperator *E) {
-  // These need to be handled specially because the operands aren't
-  // necessarily integral nor evaluated.
-  bool lhsResult, rhsResult;
-
-  if (EvaluateAsBooleanCondition(E->getLHS(), lhsResult, Info)) {
-    // We were able to evaluate the LHS, see if we can get away with not
-    // evaluating the RHS: 0 && X -> 0, 1 || X -> 1
-    if (lhsResult == (E->getOpcode() == BO_LOr))
-      return Success(lhsResult, E);
-
-    if (EvaluateAsBooleanCondition(E->getRHS(), rhsResult, Info)) {
-      if (E->getOpcode() == BO_LOr)
-        return Success(lhsResult || rhsResult, E);
-      else
-        return Success(lhsResult && rhsResult, E);
-    }
-  } else {
-    // Since we weren't able to evaluate the left hand side, it
-    // must have had side effects.
-    Info.EvalStatus.HasSideEffects = true;
-
-    // Suppress diagnostics from this arm.
-    SpeculativeEvaluationRAII Speculative(Info);
-    if (EvaluateAsBooleanCondition(E->getRHS(), rhsResult, Info)) {
-      // We can't evaluate the LHS; however, sometimes the result
-      // is determined by the RHS: X && 0 -> 0, X || 1 -> 1.
-      if (rhsResult == (E->getOpcode() == BO_LOr))
-        return Success(rhsResult, E);
-    }
-  }
-
-  return false;
-}
-
 bool IntExprEvaluator::VisitBinaryOperator(const BinaryOperator *E) {
   if (E->isAssignmentOp())
     return Error(E);
@@ -4551,7 +4504,40 @@
     return Visit(E->getRHS());
   }
 
-  assert(!E->isLogicalOp() && "Logical ops not handled separately?");
+  if (E->isLogicalOp()) {
+    // These need to be handled specially because the operands aren't
+    // necessarily integral nor evaluated.
+    bool lhsResult, rhsResult;
+
+    if (EvaluateAsBooleanCondition(E->getLHS(), lhsResult, Info)) {
+      // We were able to evaluate the LHS, see if we can get away with not
+      // evaluating the RHS: 0 && X -> 0, 1 || X -> 1
+      if (lhsResult == (E->getOpcode() == BO_LOr))
+        return Success(lhsResult, E);
+
+      if (EvaluateAsBooleanCondition(E->getRHS(), rhsResult, Info)) {
+        if (E->getOpcode() == BO_LOr)
+          return Success(lhsResult || rhsResult, E);
+        else
+          return Success(lhsResult && rhsResult, E);
+      }
+    } else {
+      // Since we weren't able to evaluate the left hand side, it
+      // must have had side effects.
+      Info.EvalStatus.HasSideEffects = true;
+
+      // Suppress diagnostics from this arm.
+      SpeculativeEvaluationRAII Speculative(Info);
+      if (EvaluateAsBooleanCondition(E->getRHS(), rhsResult, Info)) {
+        // We can't evaluate the LHS; however, sometimes the result
+        // is determined by the RHS: X && 0 -> 0, X || 1 -> 1.
+        if (rhsResult == (E->getOpcode() == BO_LOr))
+          return Success(rhsResult, E);
+      }
+    }
+
+    return false;
+  }
 
   QualType LHSTy = E->getLHS()->getType();
   QualType RHSTy = E->getRHS()->getType();

Removed: cfe/trunk/test/Sema/many-logical-ops.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Sema/many-logical-ops.c?rev=151463&view=auto
==============================================================================
--- cfe/trunk/test/Sema/many-logical-ops.c (original)
+++ cfe/trunk/test/Sema/many-logical-ops.c (removed)
@@ -1,2009 +0,0 @@
-// RUN: %clang_cc1 -fsyntax-only -Wconstant-conversion %s
-
-// rdar://10913206
-// Check that we don't get stack overflow trying to evaluate a huge number of
-// logical operators.
-
-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;
-}





More information about the cfe-commits mailing list