1 // RUN: %clang_cc1 -analyze -analyzer-checker=core,debug.DumpTraversal %s | FileCheck %s
2
3 int a();
4 int b();
5 int c();
6
testRemoveDeadBindings()7 void testRemoveDeadBindings() {
8 int i = a();
9 if (i)
10 a();
11 else
12 b();
13
14 // At this point the symbol bound to 'i' is dead.
15 // The effects of a() and b() are identical (they both invalidate globals).
16 // We should unify the two paths here and only get one end-of-path node.
17 c();
18 }
19
20 // CHECK: --END PATH--
21 // CHECK-NOT: --END PATH--