// RUN: %clang_analyze_cc1 -analyzer-checker=debug.DumpTraversal -analyzer-max-loop 4 -std=c++11 %s | FileCheck -check-prefix=DFS %s

int a();
int b();
int c();

int work();

void test(id input) {
  if (a()) {
    if (a())
      b();
    else
      c();
  } else {
    if (b())
      a();
    else
      c();
  }

  if (a())
    work();
}

void testLoops(id input) {
  while (a()) {
    work();
    work();
    work();
  }

  for (int i = 0; i != b(); ++i) {
    work();
  }

  for (id x in input) {
    work();
    work();
    work();
  }

  int z[] = {1,2,3};
  for (int y : z) {
    work();
    work();
    work();
  }
}

// This ordering assumes that false cases happen before the true cases.

// DFS:27 WhileStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:27 WhileStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:27 WhileStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:27 WhileStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:33 ForStmt
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:44 CXXForRangeStmt
// DFS-next:--END PATH--
// DFS-next:37 ObjCForCollectionStmt
// DFS-next:10 IfStmt
// DFS-next:16 IfStmt
// DFS-next:22 IfStmt
// DFS-next:--END PATH--
// DFS-next:--END PATH--
// DFS-next:22 IfStmt
// DFS-next:--END PATH--
// DFS-next:--END PATH--
// DFS-next:11 IfStmt
// DFS-next:22 IfStmt
// DFS-next:--END PATH--
// DFS-next:--END PATH--
// DFS-next:22 IfStmt
// DFS-next:--END PATH--
// DFS-next:--END PATH--

