]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Analysis/analyzer-config.cpp
Vendor import of clang trunk r338150:
[FreeBSD/FreeBSD.git] / test / Analysis / analyzer-config.cpp
1 // RUN: %clang_analyze_cc1 -triple x86_64-apple-darwin10 %s -o /dev/null -analyzer-checker=core,osx.cocoa,debug.ConfigDumper -analyzer-max-loop 34 > %t 2>&1
2 // RUN: FileCheck --input-file=%t %s --match-full-lines
3
4 void bar() {}
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:
15   ~Foo() {}
16   void baz() { Foo(); }
17         void bar() { const Foo &f = Foo(); }
18         void foo() { bar(); }
19 };
20
21 // CHECK: [config]
22 // CHECK-NEXT: c++-container-inlining = false
23 // CHECK-NEXT: c++-inlining = destructors
24 // CHECK-NEXT: c++-shared_ptr-inlining = false
25 // CHECK-NEXT: c++-stdlib-inlining = true
26 // CHECK-NEXT: c++-temp-dtor-inlining = true
27 // CHECK-NEXT: c++-template-inlining = true
28 // CHECK-NEXT: cfg-conditional-static-initializers = true
29 // CHECK-NEXT: cfg-implicit-dtors = true
30 // CHECK-NEXT: cfg-lifetime = false
31 // CHECK-NEXT: cfg-loopexit = false
32 // CHECK-NEXT: cfg-rich-constructors = true
33 // CHECK-NEXT: cfg-scopes = false
34 // CHECK-NEXT: cfg-temporary-dtors = true
35 // CHECK-NEXT: elide-constructors = true
36 // CHECK-NEXT: experimental-enable-naive-ctu-analysis = false
37 // CHECK-NEXT: exploration_strategy = unexplored_first_queue
38 // CHECK-NEXT: faux-bodies = true
39 // CHECK-NEXT: graph-trim-interval = 1000
40 // CHECK-NEXT: inline-lambdas = true
41 // CHECK-NEXT: ipa = dynamic-bifurcate
42 // CHECK-NEXT: ipa-always-inline-size = 3
43 // CHECK-NEXT: max-inlinable-size = 100
44 // CHECK-NEXT: max-nodes = 225000
45 // CHECK-NEXT: max-times-inline-large = 32
46 // CHECK-NEXT: min-cfg-size-treat-functions-as-large = 14
47 // CHECK-NEXT: mode = deep
48 // CHECK-NEXT: region-store-small-struct-limit = 2
49 // CHECK-NEXT: serialize-stats = false
50 // CHECK-NEXT: unroll-loops = false
51 // CHECK-NEXT: widen-loops = false
52 // CHECK-NEXT: [stats]
53 // CHECK-NEXT: num-entries = 30