]> granicus.if.org Git - clang/commitdiff
[analyzer] [NFC] [tests] Make test more resilient to changes in exploration strategy
authorGeorge Karpenkov <ekarpenkov@apple.com>
Fri, 2 Mar 2018 00:54:05 +0000 (00:54 +0000)
committerGeorge Karpenkov <ekarpenkov@apple.com>
Fri, 2 Mar 2018 00:54:05 +0000 (00:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326518 91177308-0d34-0410-b5e6-96231b3b80d8

test/Analysis/MisusedMovedObject.cpp

index c566d42eb4c6d70847e060b7c513c6773d7a8968..8c1d76b87f90a073598c130c8716627519f91331 100644 (file)
@@ -1,4 +1,5 @@
 // RUN: %clang_cc1 -analyze -analyzer-checker=alpha.cplusplus.MisusedMovedObject -std=c++11 -verify -analyzer-output=text %s
+// RUN: %clang_cc1 -analyze -analyzer-checker=alpha.cplusplus.MisusedMovedObject -std=c++11 -analyzer-config exploration_strategy=dfs -verify -analyzer-output=text -DDFS=1 %s
 
 namespace std {
 
@@ -474,12 +475,16 @@ void differentBranchesTest(int i) {
   // A variation on the theme above.
   {
     A a;
+#ifdef DFS
+    a.foo() > 0 ? a.foo() : A(std::move(a)).foo(); // expected-note {{Assuming the condition is false}} expected-note {{'?' condition is false}}
+#else
     a.foo() > 0 ? a.foo() : A(std::move(a)).foo(); // expected-note {{Assuming the condition is true}} expected-note {{'?' condition is true}}
+#endif
   }
   // Same thing, but with a switch statement.
   {
     A a, b;
-    switch (i) { // expected-note {{Control jumps to 'case 1:'  at line 483}}
+    switch (i) { // expected-note {{Control jumps to 'case 1:'}}
     case 1:
       b = std::move(a); // no-warning
       break;            // expected-note {{Execution jumps to the end of the function}}
@@ -491,7 +496,7 @@ void differentBranchesTest(int i) {
   // However, if there's a fallthrough, we do warn.
   {
     A a, b;
-    switch (i) { // expected-note {{Control jumps to 'case 1:'  at line 495}}
+    switch (i) { // expected-note {{Control jumps to 'case 1:'}}
     case 1:
       b = std::move(a); // expected-note {{'a' became 'moved-from' here}}
     case 2: