From: George Karpenkov Date: Fri, 2 Mar 2018 00:54:05 +0000 (+0000) Subject: [analyzer] [NFC] [tests] Make test more resilient to changes in exploration strategy X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=acf1c1bc6c76d8e333b0823e471561bea6e73b3e;p=clang [analyzer] [NFC] [tests] Make test more resilient to changes in exploration strategy git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@326518 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Analysis/MisusedMovedObject.cpp b/test/Analysis/MisusedMovedObject.cpp index c566d42eb4..8c1d76b87f 100644 --- a/test/Analysis/MisusedMovedObject.cpp +++ b/test/Analysis/MisusedMovedObject.cpp @@ -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: