// RUN: %clang_cc1 -fcxx-exceptions -fexceptions -analyze -analyzer-checker=debug.DumpCFG -cfg-add-implicit-dtors %s > %t 2>&1
// RUN: FileCheck --input-file=%t %s
// XPASS: *

class A {
public:
  A() {}
  ~A() {}
  operator int() const { return 1; }
};

extern const bool UV;

void test_const_ref() {
  A a;
  const A& b = a;
  const A& c = A();
}

void test_array() {
  A a[2];
  A b[0];
}

void test_scope() {
  A a;
  { A c;
    A d;
  }
  A b;
}

void test_return() {
  A a;
  A b;
  if (UV) return;
  A c;
}

void test_goto() {
  A a;
l0:
  A b;
  { A a;
    if (UV) goto l0;
    if (UV) goto l1;
    A b;
  }
l1:
  A c;
}

void test_if_implicit_scope() {
  A a;
  if (A b = a)
    A c;
  else A c;
}

void test_if_jumps() {
  A a;
  if (A b = a) {
    A c;
    if (UV) return;
    A d;
  } else {
    A c;
    if (UV) return;
    A d;
  }
  A e;
}

void test_while_implicit_scope() {
  A a;
  while (A b = a)
    A c;
}

void test_while_jumps() {
  A a;
  while (A b = a) {
    A c;
    if (UV) break;
    if (UV) continue;
    if (UV) return;
    A d;
  }
  A e;
}

void test_do_implicit_scope() {
  do A a;
  while (UV);
}

void test_do_jumps() {
  A a;
  do {
    A b;
    if (UV) break;
    if (UV) continue;
    if (UV) return;
    A c;
  } while (UV);
  A d;
}

void test_switch_implicit_scope() {
  A a;
  switch (A b = a)
    A c;
}

void test_switch_jumps() {
  A a;
  switch (A b = a) {
  case 0: {
    A c;
    if (UV) break;
    if (UV) return;
    A f;
  }
  case 1:
    break;
  }
  A g;
}

void test_for_implicit_scope() {
  for (A a; A b = a; )
    A c;
}

void test_for_jumps() {
  A a;
  for (A b; A c = b; ) {
    A d;
    if (UV) break;
    if (UV) continue;
    if (UV) return;
    A e;
  }
  A f;
}

void test_catch_const_ref() {
  try {
  } catch (const A& e) {
  }
}

void test_catch_copy() {
  try {
  } catch (A e) {
  }
}

// CHECK:  [B1 (ENTRY)]
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B1 (ENTRY)]
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B2 (ENTRY)]
// CHECK:    Succs (1): B1
// CHECK:  [B1]
// CHECK:    1: 1
// CHECK:    2: return [B1.1];
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B2 (ENTRY)]
// CHECK:    Succs (1): B1
// CHECK:  [B1]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3: a
// CHECK:    4: [B1.3] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    5: const A &b = a;
// CHECK:    6: A() (CXXConstructExpr, class A)
// CHECK:    7: [B1.6] (BindTemporary)
// CHECK:    8: [B1.7] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    9: [B1.8]
// CHECK:   10: const A &c = A();
// CHECK:   11: [B1.10].~A() (Implicit destructor)
// CHECK:   12: [B1.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B2 (ENTRY)]
// CHECK:    Succs (1): B1
// CHECK:  [B1]
// CHECK:    1:  (CXXConstructExpr, class A [2])
// CHECK:    2: A a[2];
// CHECK:    3:  (CXXConstructExpr, class A [0])
// CHECK:    4: A b[0];
// CHECK:    5: [B1.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B2 (ENTRY)]
// CHECK:    Succs (1): B1
// CHECK:  [B1]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3:  (CXXConstructExpr, class A)
// CHECK:    4: A c;
// CHECK:    5:  (CXXConstructExpr, class A)
// CHECK:    6: A d;
// CHECK:    7: [B1.6].~A() (Implicit destructor)
// CHECK:    8: [B1.4].~A() (Implicit destructor)
// CHECK:    9:  (CXXConstructExpr, class A)
// CHECK:   10: A b;
// CHECK:   11: [B1.10].~A() (Implicit destructor)
// CHECK:   12: [B1.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B4 (ENTRY)]
// CHECK:    Succs (1): B3
// CHECK:  [B1]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B1.2].~A() (Implicit destructor)
// CHECK:    4: [B3.4].~A() (Implicit destructor)
// CHECK:    5: [B3.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B3
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1: return;
// CHECK:    2: [B3.4].~A() (Implicit destructor)
// CHECK:    3: [B3.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B3
// CHECK:    Succs (1): B0
// CHECK:  [B3]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3:  (CXXConstructExpr, class A)
// CHECK:    4: A b;
// CHECK:    5: UV
// CHECK:    6: [B3.5] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B3.6]
// CHECK:    Preds (1): B4
// CHECK:    Succs (2): B2 B1
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (2): B1 B2
// CHECK:  [B8 (ENTRY)]
// CHECK:    Succs (1): B7
// CHECK:  [B1]
// CHECK:   l1:
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B1.2].~A() (Implicit destructor)
// CHECK:    4: [B6.2].~A() (Implicit destructor)
// CHECK:    5: [B7.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B2 B3
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A b;
// CHECK:    3: [B2.2].~A() (Implicit destructor)
// CHECK:    4: [B6.4].~A() (Implicit destructor)
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B1
// CHECK:  [B3]
// CHECK:    1: [B6.4].~A() (Implicit destructor)
// CHECK:    T: goto l1;
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B1
// CHECK:  [B4]
// CHECK:    1: UV
// CHECK:    2: [B4.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B4.2]
// CHECK:    Preds (1): B6
// CHECK:    Succs (2): B3 B2
// CHECK:  [B5]
// CHECK:    1: [B6.4].~A() (Implicit destructor)
// CHECK:    2: [B6.2].~A() (Implicit destructor)
// CHECK:    T: goto l0;
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B6
// CHECK:  [B6]
// CHECK:   l0:
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A b;
// CHECK:    3:  (CXXConstructExpr, class A)
// CHECK:    4: A a;
// CHECK:    5: UV
// CHECK:    6: [B6.5] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B6.6]
// CHECK:    Preds (2): B7 B5
// CHECK:    Succs (2): B5 B4
// CHECK:  [B7]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    Preds (1): B8
// CHECK:    Succs (1): B6
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B5 (ENTRY)]
// CHECK:    Succs (1): B4
// CHECK:  [B1]
// CHECK:    1: [B4.6].~A() (Implicit destructor)
// CHECK:    2: [B4.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B2 B3
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B2.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B1
// CHECK:  [B3]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B3.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B1
// CHECK:  [B4]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3: a
// CHECK:    4: [B4.3] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    5: [B4.4] (CXXConstructExpr, class A)
// CHECK:    6: A b = a;
// CHECK:    7: b
// CHECK:    8: [B4.7] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    9: [B4.8].operator int
// CHECK:   10: [B4.9]()
// CHECK:   11: [B4.10] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:   12: [B4.11] (ImplicitCastExpr, IntegralToBoolean, _Bool)
// CHECK:    T: if [B4.12]
// CHECK:    Preds (1): B5
// CHECK:    Succs (2): B3 B2
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B9 (ENTRY)]
// CHECK:    Succs (1): B8
// CHECK:  [B1]
// CHECK:    1: [B8.6].~A() (Implicit destructor)
// CHECK:    2:  (CXXConstructExpr, class A)
// CHECK:    3: A e;
// CHECK:    4: [B1.3].~A() (Implicit destructor)
// CHECK:    5: [B8.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B2 B5
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A d;
// CHECK:    3: [B2.2].~A() (Implicit destructor)
// CHECK:    4: [B4.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B1
// CHECK:  [B3]
// CHECK:    1: return;
// CHECK:    2: [B4.2].~A() (Implicit destructor)
// CHECK:    3: [B8.6].~A() (Implicit destructor)
// CHECK:    4: [B8.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B0
// CHECK:  [B4]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: UV
// CHECK:    4: [B4.3] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B4.4]
// CHECK:    Preds (1): B8
// CHECK:    Succs (2): B3 B2
// CHECK:  [B5]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A d;
// CHECK:    3: [B5.2].~A() (Implicit destructor)
// CHECK:    4: [B7.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B7
// CHECK:    Succs (1): B1
// CHECK:  [B6]
// CHECK:    1: return;
// CHECK:    2: [B7.2].~A() (Implicit destructor)
// CHECK:    3: [B8.6].~A() (Implicit destructor)
// CHECK:    4: [B8.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B7
// CHECK:    Succs (1): B0
// CHECK:  [B7]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: UV
// CHECK:    4: [B7.3] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B7.4]
// CHECK:    Preds (1): B8
// CHECK:    Succs (2): B6 B5
// CHECK:  [B8]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3: a
// CHECK:    4: [B8.3] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    5: [B8.4] (CXXConstructExpr, class A)
// CHECK:    6: A b = a;
// CHECK:    7: b
// CHECK:    8: [B8.7] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    9: [B8.8].operator int
// CHECK:   10: [B8.9]()
// CHECK:   11: [B8.10] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:   12: [B8.11] (ImplicitCastExpr, IntegralToBoolean, _Bool)
// CHECK:    T: if [B8.12]
// CHECK:    Preds (1): B9
// CHECK:    Succs (2): B7 B4
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (3): B1 B3 B6
// CHECK:  [B6 (ENTRY)]
// CHECK:    Succs (1): B5
// CHECK:  [B1]
// CHECK:    1: [B2.4].~A() (Implicit destructor)
// CHECK:    2: [B5.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1: a
// CHECK:    2: [B2.1] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    3: [B2.2] (CXXConstructExpr, class A)
// CHECK:    4: A b = a;
// CHECK:    5: b
// CHECK:    6: [B2.5] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    7: [B2.6].operator int
// CHECK:    8: [B2.7]()
// CHECK:    9: [B2.8] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:   10: [B2.9] (ImplicitCastExpr, IntegralToBoolean, _Bool)
// CHECK:    T: while [B2.10]
// CHECK:    Preds (2): B3 B5
// CHECK:    Succs (2): B4 B1
// CHECK:  [B3]
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B2
// CHECK:  [B4]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B4.2].~A() (Implicit destructor)
// CHECK:    4: [B2.4].~A() (Implicit destructor)
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B3
// CHECK:  [B5]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B2
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B12 (ENTRY)]
// CHECK:    Succs (1): B11
// CHECK:  [B1]
// CHECK:    1: [B2.4].~A() (Implicit destructor)
// CHECK:    2:  (CXXConstructExpr, class A)
// CHECK:    3: A e;
// CHECK:    4: [B1.3].~A() (Implicit destructor)
// CHECK:    5: [B11.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B9 B2
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1: a
// CHECK:    2: [B2.1] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    3: [B2.2] (CXXConstructExpr, class A)
// CHECK:    4: A b = a;
// CHECK:    5: b
// CHECK:    6: [B2.5] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    7: [B2.6].operator int
// CHECK:    8: [B2.7]()
// CHECK:    9: [B2.8] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:   10: [B2.9] (ImplicitCastExpr, IntegralToBoolean, _Bool)
// CHECK:    T: while [B2.10]
// CHECK:    Preds (2): B3 B11
// CHECK:    Succs (2): B10 B1
// CHECK:  [B3]
// CHECK:    Preds (2): B4 B7
// CHECK:    Succs (1): B2
// CHECK:  [B4]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A d;
// CHECK:    3: [B4.2].~A() (Implicit destructor)
// CHECK:    4: [B10.2].~A() (Implicit destructor)
// CHECK:    5: [B2.4].~A() (Implicit destructor)
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B3
// CHECK:  [B5]
// CHECK:    1: return;
// CHECK:    2: [B10.2].~A() (Implicit destructor)
// CHECK:    3: [B2.4].~A() (Implicit destructor)
// CHECK:    4: [B11.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B0
// CHECK:  [B6]
// CHECK:    1: UV
// CHECK:    2: [B6.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B6.2]
// CHECK:    Preds (1): B8
// CHECK:    Succs (2): B5 B4
// CHECK:  [B7]
// CHECK:    1: [B10.2].~A() (Implicit destructor)
// CHECK:    2: [B2.4].~A() (Implicit destructor)
// CHECK:    T: continue;
// CHECK:    Preds (1): B8
// CHECK:    Succs (1): B3
// CHECK:  [B8]
// CHECK:    1: UV
// CHECK:    2: [B8.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B8.2]
// CHECK:    Preds (1): B10
// CHECK:    Succs (2): B7 B6
// CHECK:  [B9]
// CHECK:    1: [B10.2].~A() (Implicit destructor)
// CHECK:    T: break;
// CHECK:    Preds (1): B10
// CHECK:    Succs (1): B1
// CHECK:  [B10]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: UV
// CHECK:    4: [B10.3] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B10.4]
// CHECK:    Preds (1): B2
// CHECK:    Succs (2): B9 B8
// CHECK:  [B11]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    Preds (1): B12
// CHECK:    Succs (1): B2
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (2): B1 B5
// CHECK:  [B4 (ENTRY)]
// CHECK:    Succs (1): B2
// CHECK:  [B1]
// CHECK:    1: UV
// CHECK:    2: [B1.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: do ... while [B1.2]
// CHECK:    Preds (1): B2
// CHECK:    Succs (2): B3 B0
// CHECK:  [B2]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3: [B2.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B3 B4
// CHECK:    Succs (1): B1
// CHECK:  [B3]
// CHECK:    Preds (1): B1
// CHECK:    Succs (1): B2
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B12 (ENTRY)]
// CHECK:    Succs (1): B11
// CHECK:  [B1]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A d;
// CHECK:    3: [B1.2].~A() (Implicit destructor)
// CHECK:    4: [B11.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B8 B2
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1: UV
// CHECK:    2: [B2.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: do ... while [B2.2]
// CHECK:    Preds (2): B3 B6
// CHECK:    Succs (2): B10 B1
// CHECK:  [B3]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B3.2].~A() (Implicit destructor)
// CHECK:    4: [B9.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B5
// CHECK:    Succs (1): B2
// CHECK:  [B4]
// CHECK:    1: return;
// CHECK:    2: [B9.2].~A() (Implicit destructor)
// CHECK:    3: [B11.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B5
// CHECK:    Succs (1): B0
// CHECK:  [B5]
// CHECK:    1: UV
// CHECK:    2: [B5.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B5.2]
// CHECK:    Preds (1): B7
// CHECK:    Succs (2): B4 B3
// CHECK:  [B6]
// CHECK:    1: [B9.2].~A() (Implicit destructor)
// CHECK:    T: continue;
// CHECK:    Preds (1): B7
// CHECK:    Succs (1): B2
// CHECK:  [B7]
// CHECK:    1: UV
// CHECK:    2: [B7.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B7.2]
// CHECK:    Preds (1): B9
// CHECK:    Succs (2): B6 B5
// CHECK:  [B8]
// CHECK:    1: [B9.2].~A() (Implicit destructor)
// CHECK:    T: break;
// CHECK:    Preds (1): B9
// CHECK:    Succs (1): B1
// CHECK:  [B9]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A b;
// CHECK:    3: UV
// CHECK:    4: [B9.3] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B9.4]
// CHECK:    Preds (2): B10 B11
// CHECK:    Succs (2): B8 B7
// CHECK:  [B10]
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B9
// CHECK:  [B11]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    Preds (1): B12
// CHECK:    Succs (1): B9
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (2): B1 B4
// CHECK:  [B4 (ENTRY)]
// CHECK:    Succs (1): B2
// CHECK:  [B1]
// CHECK:    1: [B2.6].~A() (Implicit destructor)
// CHECK:    2: [B2.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B3 B2
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3: a
// CHECK:    4: [B2.3] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    5: [B2.4] (CXXConstructExpr, class A)
// CHECK:    6: A b = a;
// CHECK:    7: b
// CHECK:    8: [B2.7] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    9: [B2.8].operator int
// CHECK:   10: [B2.9]()
// CHECK:   11: [B2.10] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:    T: switch [B2.11]
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B1
// CHECK:  [B3]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B3.2].~A() (Implicit destructor)
// CHECK:    Succs (1): B1
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B9 (ENTRY)]
// CHECK:    Succs (1): B2
// CHECK:  [B1]
// CHECK:    1: [B2.6].~A() (Implicit destructor)
// CHECK:    2:  (CXXConstructExpr, class A)
// CHECK:    3: A g;
// CHECK:    4: [B1.3].~A() (Implicit destructor)
// CHECK:    5: [B2.2].~A() (Implicit destructor)
// CHECK:    Preds (3): B3 B7 B2
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3: a
// CHECK:    4: [B2.3] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    5: [B2.4] (CXXConstructExpr, class A)
// CHECK:    6: A b = a;
// CHECK:    7: b
// CHECK:    8: [B2.7] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    9: [B2.8].operator int
// CHECK:   10: [B2.9]()
// CHECK:   11: [B2.10] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:    T: switch [B2.11]
// CHECK:    Preds (1): B9
// CHECK:    Succs (3): B3 B8
// CHECK:      B1
// CHECK:  [B3]
// CHECK:   case 1:
// CHECK:    T: break;
// CHECK:    Preds (2): B2 B4
// CHECK:    Succs (1): B1
// CHECK:  [B4]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A f;
// CHECK:    3: [B4.2].~A() (Implicit destructor)
// CHECK:    4: [B8.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B3
// CHECK:  [B5]
// CHECK:    1: return;
// CHECK:    2: [B8.2].~A() (Implicit destructor)
// CHECK:    3: [B2.6].~A() (Implicit destructor)
// CHECK:    4: [B2.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B0
// CHECK:  [B6]
// CHECK:    1: UV
// CHECK:    2: [B6.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B6.2]
// CHECK:    Preds (1): B8
// CHECK:    Succs (2): B5 B4
// CHECK:  [B7]
// CHECK:    1: [B8.2].~A() (Implicit destructor)
// CHECK:    T: break;
// CHECK:    Preds (1): B8
// CHECK:    Succs (1): B1
// CHECK:  [B8]
// CHECK:   case 0:
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: UV
// CHECK:    4: [B8.3] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B8.4]
// CHECK:    Preds (1): B2
// CHECK:    Succs (2): B7 B6
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (2): B1 B5
// CHECK:  [B6 (ENTRY)]
// CHECK:    Succs (1): B5
// CHECK:  [B1]
// CHECK:    1: [B2.4].~A() (Implicit destructor)
// CHECK:    2: [B5.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1: a
// CHECK:    2: [B2.1] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    3: [B2.2] (CXXConstructExpr, class A)
// CHECK:    4: A b = a;
// CHECK:    5: b
// CHECK:    6: [B2.5] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    7: [B2.6].operator int
// CHECK:    8: [B2.7]()
// CHECK:    9: [B2.8] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:   10: [B2.9] (ImplicitCastExpr, IntegralToBoolean, _Bool)
// CHECK:    T: for (...; [B2.10]; )
// CHECK:    Preds (2): B3 B5
// CHECK:    Succs (2): B4 B1
// CHECK:  [B3]
// CHECK:    1: [B2.4].~A() (Implicit destructor)
// CHECK:    Preds (1): B4
// CHECK:    Succs (1): B2
// CHECK:  [B4]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A c;
// CHECK:    3: [B4.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B2
// CHECK:    Succs (1): B3
// CHECK:  [B5]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B2
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (1): B1
// CHECK:  [B12 (ENTRY)]
// CHECK:    Succs (1): B11
// CHECK:  [B1]
// CHECK:    1: [B2.4].~A() (Implicit destructor)
// CHECK:    2: [B11.4].~A() (Implicit destructor)
// CHECK:    3:  (CXXConstructExpr, class A)
// CHECK:    4: A f;
// CHECK:    5: [B1.4].~A() (Implicit destructor)
// CHECK:    6: [B11.2].~A() (Implicit destructor)
// CHECK:    Preds (2): B9 B2
// CHECK:    Succs (1): B0
// CHECK:  [B2]
// CHECK:    1: b
// CHECK:    2: [B2.1] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    3: [B2.2] (CXXConstructExpr, class A)
// CHECK:    4: A c = b;
// CHECK:    5: c
// CHECK:    6: [B2.5] (ImplicitCastExpr, NoOp, const class A)
// CHECK:    7: [B2.6].operator int
// CHECK:    8: [B2.7]()
// CHECK:    9: [B2.8] (ImplicitCastExpr, UserDefinedConversion, int)
// CHECK:   10: [B2.9] (ImplicitCastExpr, IntegralToBoolean, _Bool)
// CHECK:    T: for (...; [B2.10]; )
// CHECK:    Preds (2): B3 B11
// CHECK:    Succs (2): B10 B1
// CHECK:  [B3]
// CHECK:    1: [B2.4].~A() (Implicit destructor)
// CHECK:    Preds (2): B4 B7
// CHECK:    Succs (1): B2
// CHECK:  [B4]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A e;
// CHECK:    3: [B4.2].~A() (Implicit destructor)
// CHECK:    4: [B10.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B3
// CHECK:  [B5]
// CHECK:    1: return;
// CHECK:    2: [B10.2].~A() (Implicit destructor)
// CHECK:    3: [B2.4].~A() (Implicit destructor)
// CHECK:    4: [B11.4].~A() (Implicit destructor)
// CHECK:    5: [B11.2].~A() (Implicit destructor)
// CHECK:    Preds (1): B6
// CHECK:    Succs (1): B0
// CHECK:  [B6]
// CHECK:    1: UV
// CHECK:    2: [B6.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B6.2]
// CHECK:    Preds (1): B8
// CHECK:    Succs (2): B5 B4
// CHECK:  [B7]
// CHECK:    1: [B10.2].~A() (Implicit destructor)
// CHECK:    T: continue;
// CHECK:    Preds (1): B8
// CHECK:    Succs (1): B3
// CHECK:  [B8]
// CHECK:    1: UV
// CHECK:    2: [B8.1] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B8.2]
// CHECK:    Preds (1): B10
// CHECK:    Succs (2): B7 B6
// CHECK:  [B9]
// CHECK:    1: [B10.2].~A() (Implicit destructor)
// CHECK:    T: break;
// CHECK:    Preds (1): B10
// CHECK:    Succs (1): B1
// CHECK:  [B10]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A d;
// CHECK:    3: UV
// CHECK:    4: [B10.3] (ImplicitCastExpr, LValueToRValue, _Bool)
// CHECK:    T: if [B10.4]
// CHECK:    Preds (1): B2
// CHECK:    Succs (2): B9 B8
// CHECK:  [B11]
// CHECK:    1:  (CXXConstructExpr, class A)
// CHECK:    2: A a;
// CHECK:    3:  (CXXConstructExpr, class A)
// CHECK:    4: A b;
// CHECK:    Preds (1): B12
// CHECK:    Succs (1): B2
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (2): B1 B5
// CHECK:  [B3 (ENTRY)]
// CHECK:    Succs (1): B0
// CHECK:  [B1]
// CHECK:    T: try ...
// CHECK:    Succs (2): B2 B0
// CHECK:  [B2]
// CHECK:   catch (const A &e):
// CHECK:    1: catch (const A &e) {
// CHECK: }
// CHECK:    Preds (1): B1
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (3): B2 B1 B3
// CHECK:  [B3 (ENTRY)]
// CHECK:    Succs (1): B0
// CHECK:  [B1]
// CHECK:    T: try ...
// CHECK:    Succs (2): B2 B0
// CHECK:  [B2]
// CHECK:   catch (A e):
// CHECK:    1: catch (A e) {
// CHECK: }
// CHECK:    2: [B2.1].~A() (Implicit destructor)
// CHECK:    Preds (1): B1
// CHECK:    Succs (1): B0
// CHECK:  [B0 (EXIT)]
// CHECK:    Preds (3): B2 B1 B3
