diff options
author | Ted Kremenek <kremenek@apple.com> | 2012-04-06 22:10:18 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2012-04-06 22:10:18 +0000 |
commit | bd613137499b1d4c3b63dccd0aa21f6add243f4f (patch) | |
tree | dcdae129e5d102c0bb9e98abba82d7a988989c38 /test/Analysis | |
parent | d2953ce57a4f1b0a6884b3d6b35266ab4f79fa7f (diff) |
Rework ExprEngine::evalLoad and clients (e.g. VisitBinaryOperator) so that when we generate a new ExplodedNode
we use the same Expr* as the one being currently visited. This is preparation for transitioning to having
ProgramPoints refer to CFGStmts.
This required a bit of trickery. We wish to keep the old Expr* bindings in the Environment intact,
as plenty of logic relies on it and there is no reason to change it, but we sometimes want the Stmt* for
the ProgramPoint to be different than the Expr* being used for bindings. This requires adding an extra
argument for some functions (e.g., evalLocation). This looks a bit strange for some clients, but
it will look a lot cleaner when were start using CFGStmt* in the appropriate places.
As some fallout, the diagnostics arrows are a bit difference, since some of the node locations have changed.
I have audited these, and they look reasonable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154214 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Analysis')
-rw-r--r-- | test/Analysis/inline-plist.c | 4 | ||||
-rw-r--r-- | test/Analysis/inline-unique-reports.c | 22 | ||||
-rw-r--r-- | test/Analysis/plist-output-alternate.m | 12 | ||||
-rw-r--r-- | test/Analysis/plist-output.m | 16 |
4 files changed, 28 insertions, 26 deletions
diff --git a/test/Analysis/inline-plist.c b/test/Analysis/inline-plist.c index 0001972996..549082dc9c 100644 --- a/test/Analysis/inline-plist.c +++ b/test/Analysis/inline-plist.c @@ -23,6 +23,7 @@ void test_has_bug() { has_bug(0); } + // CHECK: <?xml version="1.0" encoding="UTF-8"?> // CHECK: <plist version="1.0"> // CHECK: <dict> @@ -314,7 +315,7 @@ void test_has_bug() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>19</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -366,4 +367,3 @@ void test_has_bug() { // CHECK: </array> // CHECK: </dict> // CHECK: </plist> - diff --git a/test/Analysis/inline-unique-reports.c b/test/Analysis/inline-unique-reports.c index e80e54f61f..ae94267d2c 100644 --- a/test/Analysis/inline-unique-reports.c +++ b/test/Analysis/inline-unique-reports.c @@ -34,12 +34,12 @@ void test_bug_2() { // CHECK: <key>start</key> // CHECK: <array> // CHECK: <dict> -// CHECK: <key>line</key><integer>14</integer> +// CHECK: <key>line</key><integer>9</integer> // CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: <dict> -// CHECK: <key>line</key><integer>14</integer> +// CHECK: <key>line</key><integer>9</integer> // CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> @@ -47,12 +47,12 @@ void test_bug_2() { // CHECK: <key>end</key> // CHECK: <array> // CHECK: <dict> -// CHECK: <key>line</key><integer>15</integer> +// CHECK: <key>line</key><integer>10</integer> // CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: <dict> -// CHECK: <key>line</key><integer>15</integer> +// CHECK: <key>line</key><integer>10</integer> // CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> @@ -64,7 +64,7 @@ void test_bug_2() { // CHECK: <key>kind</key><string>event</string> // CHECK: <key>location</key> // CHECK: <dict> -// CHECK: <key>line</key><integer>15</integer> +// CHECK: <key>line</key><integer>10</integer> // CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> @@ -72,12 +72,12 @@ void test_bug_2() { // CHECK: <array> // CHECK: <array> // CHECK: <dict> -// CHECK: <key>line</key><integer>15</integer> +// CHECK: <key>line</key><integer>10</integer> // CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: <dict> -// CHECK: <key>line</key><integer>15</integer> +// CHECK: <key>line</key><integer>10</integer> // CHECK: <key>col</key><integer>8</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> @@ -99,9 +99,9 @@ void test_bug_2() { // CHECK: </dict> // CHECK: <key>depth</key><integer>1</integer> // CHECK: <key>extended_message</key> -// CHECK: <string>Entered call from 'test_bug_2'</string> +// CHECK: <string>Entered call from 'test_bug_1'</string> // CHECK: <key>message</key> -// CHECK: <string>Entered call from 'test_bug_2'</string> +// CHECK: <string>Entered call from 'test_bug_1'</string> // CHECK: </dict> // CHECK: <dict> // CHECK: <key>kind</key><string>control</string> @@ -130,7 +130,7 @@ void test_bug_2() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>5</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -170,6 +170,8 @@ void test_bug_2() { // CHECK: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> // CHECK: <key>category</key><string>Logic error</string> // CHECK: <key>type</key><string>Dereference of null pointer</string> +// CHECK: <key>issue_context_kind</key><string>function</string> +// CHECK: <key>issue_context</key><string>bug</string> // CHECK: <key>location</key> // CHECK: <dict> // CHECK: <key>line</key><integer>5</integer> diff --git a/test/Analysis/plist-output-alternate.m b/test/Analysis/plist-output-alternate.m index b53efcf015..83100dc209 100644 --- a/test/Analysis/plist-output-alternate.m +++ b/test/Analysis/plist-output-alternate.m @@ -95,7 +95,7 @@ void rdar8331641(int x) { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>6</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -174,7 +174,7 @@ void rdar8331641(int x) { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>12</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -253,7 +253,7 @@ void rdar8331641(int x) { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>19</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -395,7 +395,7 @@ void rdar8331641(int x) { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>24</integer> -// CHECK: <key>col</key><integer>6</integer> +// CHECK: <key>col</key><integer>5</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -542,7 +542,7 @@ void rdar8331641(int x) { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>31</integer> -// CHECK: <key>col</key><integer>6</integer> +// CHECK: <key>col</key><integer>5</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -655,7 +655,7 @@ void rdar8331641(int x) { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>38</integer> -// CHECK: <key>col</key><integer>8</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> diff --git a/test/Analysis/plist-output.m b/test/Analysis/plist-output.m index 3b83e9c11b..72e8f8d0aa 100644 --- a/test/Analysis/plist-output.m +++ b/test/Analysis/plist-output.m @@ -118,7 +118,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>6</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -197,7 +197,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>12</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -276,7 +276,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>19</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -418,7 +418,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>24</integer> -// CHECK: <key>col</key><integer>6</integer> +// CHECK: <key>col</key><integer>5</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -565,7 +565,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>32</integer> -// CHECK: <key>col</key><integer>6</integer> +// CHECK: <key>col</key><integer>5</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -678,7 +678,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>39</integer> -// CHECK: <key>col</key><integer>8</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -893,7 +893,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>51</integer> -// CHECK: <key>col</key><integer>4</integer> +// CHECK: <key>col</key><integer>3</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> @@ -1284,7 +1284,7 @@ int test_cond_assign() { // CHECK: </dict> // CHECK: <dict> // CHECK: <key>line</key><integer>78</integer> -// CHECK: <key>col</key><integer>6</integer> +// CHECK: <key>col</key><integer>5</integer> // CHECK: <key>file</key><integer>0</integer> // CHECK: </dict> // CHECK: </array> |