Lines Matching refs:after
66 C **after, **before; member in maintain_original_object_address_on_lifetime_extension::C
71 C(bool x, C **after, C **before) : x(x), after(after), before(before) { in C() argument
76 C(const C &c) : x(c.x), after(nullptr), before(nullptr) {} in C()
78 ~C() { if (after) *after = this; } in ~C()
82 static C make(C **after, C **before) { return C(false, after, before); } in make() argument
86 C *after, *before; in f1() local
88 const C &c = C(true, &after, &before); in f1()
90 clang_analyzer_eval(after == before); in f1()
99 C *after, *before; in f2() local
101 C c = C(1, &after, &before); in f2()
103 clang_analyzer_eval(after == before); // expected-warning{{TRUE}} in f2()
107 C *after, *before; in f3() local
109 const C &c = coin ? C(true, &after, &before) : C(false, &after, &before); in f3()
111 clang_analyzer_eval(after == before); in f3()
120 C *after, *before; in f4() local
123 const C &c = C(coin, &after, &before) ?: C(false, &after, &before); in f4()
130 clang_analyzer_eval(after == before); in f4()
138 clang_analyzer_eval(after == before); in f4()
148 C *after, *before; in f5() local
150 const bool &x = C(true, &after, &before).x; // no-crash in f5()
152 clang_analyzer_eval(after == before); in f5()
165 C *after, *before; in f6() local
167 A a{C(true, &after, &before)}; in f6()
170 clang_analyzer_eval(after == before); // expected-warning{{UNKNOWN}} in f6()
174 C *after, *before; in f7() local
176 A a = {C(true, &after, &before)}; in f7()
179 clang_analyzer_eval(after == before); // expected-warning{{UNKNOWN}} in f7()
183 C *after, *before; in f8() local
185 A a[2] = {C(false, nullptr, nullptr), C(true, &after, &before)}; in f8()
188 clang_analyzer_eval(after == before); // expected-warning{{UNKNOWN}} in f8()