1 // RUN: %clang -target x86_64-apple-darwin10 --analyze %s -o /dev/null -Xclang -analyzer-checker=debug.ConfigDumper -Xclang -analyzer-max-loop -Xclang 34 > %t 2>&1
2 // RUN: FileCheck --input-file=%t %s
3
bar()4 void bar() {}
foo()5 void foo() {
6 // Call bar 33 times so max-times-inline-large is met and
7 // min-blocks-for-inline-large is checked
8 for (int i = 0; i < 34; ++i) {
9 bar();
10 }
11 }
12
13 class Foo {
14 public:
bar()15 void bar() {}
foo()16 void foo() { bar(); }
17 };
18
19 // CHECK: [config]
20 // CHECK-NEXT: c++-container-inlining = false
21 // CHECK-NEXT: c++-inlining = destructors
22 // CHECK-NEXT: c++-shared_ptr-inlining = false
23 // CHECK-NEXT: c++-stdlib-inlining = true
24 // CHECK-NEXT: c++-template-inlining = true
25 // CHECK-NEXT: cfg-conditional-static-initializers = true
26 // CHECK-NEXT: cfg-temporary-dtors = false
27 // CHECK-NEXT: faux-bodies = true
28 // CHECK-NEXT: graph-trim-interval = 1000
29 // CHECK-NEXT: inline-lambdas = true
30 // CHECK-NEXT: ipa = dynamic-bifurcate
31 // CHECK-NEXT: ipa-always-inline-size = 3
32 // CHECK-NEXT: leak-diagnostics-reference-allocation = false
33 // CHECK-NEXT: max-inlinable-size = 50
34 // CHECK-NEXT: max-nodes = 150000
35 // CHECK-NEXT: max-times-inline-large = 32
36 // CHECK-NEXT: min-cfg-size-treat-functions-as-large = 14
37 // CHECK-NEXT: mode = deep
38 // CHECK-NEXT: region-store-small-struct-limit = 2
39 // CHECK-NEXT: widen-loops = false
40 // CHECK-NEXT: [stats]
41 // CHECK-NEXT: num-entries = 20
42