blob: 23f08286eb7eeb77311906c29a2f797e2a78beea [file] [log] [blame]
Devin Coughlin0123af92015-09-11 20:14:05 +00001// 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
Ted Kremenek5faa5e02012-10-02 20:31:52 +00002// RUN: FileCheck --input-file=%t %s
3
4void bar() {}
Devin Coughlin0123af92015-09-11 20:14:05 +00005void 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}
Ted Kremenek5faa5e02012-10-02 20:31:52 +000012
13class Foo {
14public:
15 void bar() {}
16 void foo() { bar(); }
17};
18
19// CHECK: [config]
Jordan Rosee189b862013-04-02 00:26:35 +000020// CHECK-NEXT: c++-container-inlining = false
Jordan Rose2de3daa2013-04-04 23:10:29 +000021// CHECK-NEXT: c++-inlining = destructors
Jordan Rosefbe4d852013-05-17 02:16:49 +000022// CHECK-NEXT: c++-shared_ptr-inlining = false
Ted Kremenek5faa5e02012-10-02 20:31:52 +000023// CHECK-NEXT: c++-stdlib-inlining = true
24// CHECK-NEXT: c++-template-inlining = true
Ted Kremenek338c3aa2013-03-29 00:09:28 +000025// CHECK-NEXT: cfg-conditional-static-initializers = true
Jordan Rose7b982b32013-07-23 02:15:11 +000026// CHECK-NEXT: cfg-temporary-dtors = false
Ted Kremenek5faa5e02012-10-02 20:31:52 +000027// CHECK-NEXT: faux-bodies = true
Jordan Rose746c06d2012-10-23 23:59:05 +000028// CHECK-NEXT: graph-trim-interval = 1000
Devin Coughlin0123af92015-09-11 20:14:05 +000029// CHECK-NEXT: inline-lambdas = true
Anna Zaks6bab4ef2013-01-24 23:15:30 +000030// CHECK-NEXT: ipa = dynamic-bifurcate
Ted Kremenek3c693292012-10-02 20:31:56 +000031// CHECK-NEXT: ipa-always-inline-size = 3
Ted Kremenek8671acb2013-04-16 21:44:22 +000032// CHECK-NEXT: leak-diagnostics-reference-allocation = false
Anna Zaks66b9f162013-01-30 19:12:36 +000033// CHECK-NEXT: max-inlinable-size = 50
Anna Zaksc84d1512013-01-30 19:12:39 +000034// CHECK-NEXT: max-nodes = 150000
Anna Zaksd53182b2012-12-17 20:08:51 +000035// CHECK-NEXT: max-times-inline-large = 32
Devin Coughlin0123af92015-09-11 20:14:05 +000036// CHECK-NEXT: min-cfg-size-treat-functions-as-large = 14
Anna Zaks36d988f2013-01-24 23:15:34 +000037// CHECK-NEXT: mode = deep
Jordan Rose3720e2f2013-04-18 16:33:46 +000038// CHECK-NEXT: region-store-small-struct-limit = 2
Sean Eveson70eece22015-10-30 15:23:57 +000039// CHECK-NEXT: widen-loops = false
Ted Kremenek5faa5e02012-10-02 20:31:52 +000040// CHECK-NEXT: [stats]
Sean Eveson70eece22015-10-30 15:23:57 +000041// CHECK-NEXT: num-entries = 20