[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / clang / test / Analysis / dtors-in-dtor-cfg-output.cpp
blob4c1c8dd91da7b8c05260485125797263e9e9da58
1 // RUN: %clang_analyze_cc1 -analyzer-checker=debug.DumpCFG %s 2>&1 | FileCheck %s
3 class A {
4 public:
5 ~A() {}
6 };
8 class B : public virtual A {
9 public:
10 ~B() {}
13 class C : public virtual A {
14 public:
15 ~C() {}
18 class TestOrder : public C, public B, public virtual A {
19 A a;
20 int i;
21 A *p;
22 public:
23 ~TestOrder();
26 TestOrder::~TestOrder() {}
28 class TestArray {
29 A a[2];
30 A b[0];
31 public:
32 ~TestArray();
35 TestArray::~TestArray() {}
37 // CHECK: [B2 (ENTRY)]
38 // CHECK: Succs (1): B1
39 // CHECK: [B1]
40 // CHECK: 1: this->a.~A() (Member object destructor)
41 // CHECK: 2: ~B() (Base object destructor)
42 // CHECK: 3: ~C() (Base object destructor)
43 // CHECK: 4: ~A() (Base object destructor)
44 // CHECK: Preds (1): B2
45 // CHECK: Succs (1): B0
46 // CHECK: [B0 (EXIT)]
47 // CHECK: Preds (1): B1
48 // CHECK: [B2 (ENTRY)]
49 // CHECK: Succs (1): B1
50 // CHECK: [B1]
51 // CHECK: 1: this->a.~A() (Member object destructor)
52 // CHECK: Preds (1): B2
53 // CHECK: Succs (1): B0
54 // CHECK: [B0 (EXIT)]
55 // CHECK: Preds (1): B1