diff options
author | dim <dim@FreeBSD.org> | 2012-12-02 13:20:44 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2012-12-02 13:20:44 +0000 |
commit | 056abd2059c65a3e908193aeae16fad98017437c (patch) | |
tree | 2732d02d7d51218d6eed98ac7fcfc5b8794896b5 /test/Analysis/diagnostics/undef-value-caller.c | |
parent | cc73504950eb7b5dff2dded9bedd67bc36d64641 (diff) | |
download | FreeBSD-src-056abd2059c65a3e908193aeae16fad98017437c.zip FreeBSD-src-056abd2059c65a3e908193aeae16fad98017437c.tar.gz |
Vendor import of clang release_32 branch r168974 (effectively, 3.2 RC2):
http://llvm.org/svn/llvm-project/cfe/branches/release_32@168974
Diffstat (limited to 'test/Analysis/diagnostics/undef-value-caller.c')
-rw-r--r-- | test/Analysis/diagnostics/undef-value-caller.c | 379 |
1 files changed, 153 insertions, 226 deletions
diff --git a/test/Analysis/diagnostics/undef-value-caller.c b/test/Analysis/diagnostics/undef-value-caller.c index 928839d..627b334 100644 --- a/test/Analysis/diagnostics/undef-value-caller.c +++ b/test/Analysis/diagnostics/undef-value-caller.c @@ -4,235 +4,162 @@ #include "undef-value-callee.h" // This code used to cause a crash since we were not adding fileID of the header to the plist diagnostic. -// Note, in the future, we do not even need to step into this callee since it does not influence the result. + int test_calling_unimportant_callee(int argc, char *argv[]) { int x; callee(); return x; // expected-warning {{Undefined or garbage value returned to caller}} } -// CHECK: <?xml version="1.0" encoding="UTF-8"?> -// CHECK: <plist version="1.0"> -// CHECK: <dict> -// CHECK: <key>files</key> -// CHECK: <array> -// CHECK: </array> -// CHECK: <key>diagnostics</key> -// CHECK: <array> -// CHECK: <dict> -// CHECK: <key>path</key> -// CHECK: <array> -// CHECK: <dict> -// CHECK: <key>kind</key><string>event</string> -// CHECK: <key>location</key> -// CHECK: <dict> -// CHECK: <key>line</key><integer>9</integer> -// CHECK: <key>col</key><integer>3</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: <key>ranges</key> -// CHECK: <array> -// CHECK: <array> -// CHECK: <dict> -// 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>9</integer> -// CHECK: <key>col</key><integer>7</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </array> -// CHECK: <key>depth</key><integer>0</integer> -// CHECK: <key>extended_message</key> -// CHECK: <string>Variable 'x' declared without an initial value</string> -// CHECK: <key>message</key> -// CHECK: <string>Variable 'x' declared without an initial value</string> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>kind</key><string>control</string> -// CHECK: <key>edges</key> -// CHECK: <array> -// CHECK: <dict> -// CHECK: <key>start</key> -// CHECK: <array> -// CHECK: <dict> -// 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>9</integer> -// CHECK: <key>col</key><integer>5</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: <key>end</key> -// CHECK: <array> -// CHECK: <dict> -// 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>10</integer> -// CHECK: <key>col</key><integer>8</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>kind</key><string>event</string> -// CHECK: <key>location</key> -// CHECK: <dict> -// CHECK: <key>line</key><integer>10</integer> -// CHECK: <key>col</key><integer>3</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: <key>ranges</key> -// CHECK: <array> -// CHECK: <array> -// CHECK: <dict> -// 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>10</integer> -// CHECK: <key>col</key><integer>10</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </array> -// CHECK: <key>depth</key><integer>0</integer> -// CHECK: <key>extended_message</key> -// CHECK: <string>Calling 'callee'</string> -// CHECK: <key>message</key> -// CHECK: <string>Calling 'callee'</string> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>kind</key><string>event</string> -// CHECK: <key>location</key> -// CHECK: <dict> -// CHECK: <key>line</key><integer>2</integer> -// CHECK: <key>col</key><integer>1</integer> -// CHECK: <key>file</key><integer>1</integer> -// CHECK: </dict> -// CHECK: <key>depth</key><integer>1</integer> -// CHECK: <key>extended_message</key> -// CHECK: <string>Entered call from 'test_calling_unimportant_callee'</string> -// CHECK: <key>message</key> -// CHECK: <string>Entered call from 'test_calling_unimportant_callee'</string> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>kind</key><string>event</string> -// CHECK: <key>location</key> -// CHECK: <dict> -// CHECK: <key>line</key><integer>10</integer> -// CHECK: <key>col</key><integer>3</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: <key>ranges</key> -// CHECK: <array> -// CHECK: <array> -// CHECK: <dict> -// 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>10</integer> -// CHECK: <key>col</key><integer>10</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </array> -// CHECK: <key>depth</key><integer>1</integer> -// CHECK: <key>extended_message</key> -// CHECK: <string>Returning from 'callee'</string> -// CHECK: <key>message</key> -// CHECK: <string>Returning from 'callee'</string> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>kind</key><string>control</string> -// CHECK: <key>edges</key> -// CHECK: <array> -// CHECK: <dict> -// CHECK: <key>start</key> -// CHECK: <array> -// CHECK: <dict> -// 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>10</integer> -// CHECK: <key>col</key><integer>8</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: <key>end</key> -// CHECK: <array> -// CHECK: <dict> -// CHECK: <key>line</key><integer>11</integer> -// CHECK: <key>col</key><integer>3</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>line</key><integer>11</integer> -// CHECK: <key>col</key><integer>8</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>kind</key><string>event</string> -// CHECK: <key>location</key> -// CHECK: <dict> -// CHECK: <key>line</key><integer>11</integer> -// CHECK: <key>col</key><integer>3</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: <key>ranges</key> -// CHECK: <array> -// CHECK: <array> -// CHECK: <dict> -// CHECK: <key>line</key><integer>11</integer> -// CHECK: <key>col</key><integer>10</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: <dict> -// CHECK: <key>line</key><integer>11</integer> -// CHECK: <key>col</key><integer>10</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </array> -// CHECK: <key>depth</key><integer>0</integer> -// CHECK: <key>extended_message</key> -// CHECK: <string>Undefined or garbage value returned to caller</string> -// CHECK: <key>message</key> -// CHECK: <string>Undefined or garbage value returned to caller</string> -// CHECK: </dict> -// CHECK: </array> -// CHECK: <key>description</key><string>Undefined or garbage value returned to caller</string> -// CHECK: <key>category</key><string>Logic error</string> -// CHECK: <key>type</key><string>Garbage return value</string> -// CHECK: <key>issue_context_kind</key><string>function</string> -// CHECK: <key>issue_context</key><string>test_calling_unimportant_callee</string> -// CHECK: <key>location</key> -// CHECK: <dict> -// CHECK: <key>line</key><integer>11</integer> -// CHECK: <key>col</key><integer>3</integer> -// CHECK: <key>file</key><integer>0</integer> -// CHECK: </dict> -// CHECK: </dict> -// CHECK: </array> -// CHECK: </dict> -// CHECK: </plist> +//CHECK: <dict> +//CHECK: <key>files</key> +//CHECK: <array> +//CHECK: </array> +//CHECK: <key>diagnostics</key> +//CHECK: <array> +//CHECK: <dict> +//CHECK: <key>path</key> +//CHECK: <array> +//CHECK: <dict> +//CHECK: <key>kind</key><string>event</string> +//CHECK: <key>location</key> +//CHECK: <dict> +//CHECK: <key>line</key><integer>9</integer> +//CHECK: <key>col</key><integer>3</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: <key>ranges</key> +//CHECK: <array> +//CHECK: <array> +//CHECK: <dict> +//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>9</integer> +//CHECK: <key>col</key><integer>7</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: </array> +//CHECK: </array> +//CHECK: <key>depth</key><integer>0</integer> +//CHECK: <key>extended_message</key> +//CHECK: <string>Variable 'x' declared without an initial value</string> +//CHECK: <key>message</key> +//CHECK: <string>Variable 'x' declared without an initial value</string> +//CHECK: </dict> +//CHECK: <dict> +//CHECK: <key>kind</key><string>control</string> +//CHECK: <key>edges</key> +//CHECK: <array> +//CHECK: <dict> +//CHECK: <key>start</key> +//CHECK: <array> +//CHECK: <dict> +//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>9</integer> +//CHECK: <key>col</key><integer>5</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: </array> +//CHECK: <key>end</key> +//CHECK: <array> +//CHECK: <dict> +//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>10</integer> +//CHECK: <key>col</key><integer>8</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: </array> +//CHECK: </dict> +//CHECK: </array> +//CHECK: </dict> +//CHECK: <dict> +//CHECK: <key>kind</key><string>control</string> +//CHECK: <key>edges</key> +//CHECK: <array> +//CHECK: <dict> +//CHECK: <key>start</key> +//CHECK: <array> +//CHECK: <dict> +//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>10</integer> +//CHECK: <key>col</key><integer>8</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: </array> +//CHECK: <key>end</key> +//CHECK: <array> +//CHECK: <dict> +//CHECK: <key>line</key><integer>11</integer> +//CHECK: <key>col</key><integer>3</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: <dict> +//CHECK: <key>line</key><integer>11</integer> +//CHECK: <key>col</key><integer>8</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: </array> +//CHECK: </dict> +//CHECK: </array> +//CHECK: </dict> +//CHECK: <dict> +//CHECK: <key>kind</key><string>event</string> +//CHECK: <key>location</key> +//CHECK: <dict> +//CHECK: <key>line</key><integer>11</integer> +//CHECK: <key>col</key><integer>3</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: <key>ranges</key> +//CHECK: <array> +//CHECK: <array> +//CHECK: <dict> +//CHECK: <key>line</key><integer>11</integer> +//CHECK: <key>col</key><integer>10</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: <dict> +//CHECK: <key>line</key><integer>11</integer> +//CHECK: <key>col</key><integer>10</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: </array> +//CHECK: </array> +//CHECK: <key>depth</key><integer>0</integer> +//CHECK: <key>extended_message</key> +//CHECK: <string>Undefined or garbage value returned to caller</string> +//CHECK: <key>message</key> +//CHECK: <string>Undefined or garbage value returned to caller</string> +//CHECK: </dict> +//CHECK: </array> +//CHECK: <key>description</key><string>Undefined or garbage value returned to caller</string> +//CHECK: <key>category</key><string>Logic error</string> +//CHECK: <key>type</key><string>Garbage return value</string> +//CHECK: <key>issue_context_kind</key><string>function</string> +//CHECK: <key>issue_context</key><string>test_calling_unimportant_callee</string> +//CHECK: <key>issue_hash</key><integer>3</integer> +//CHECK: <key>location</key> +//CHECK: <dict> +//CHECK: <key>line</key><integer>11</integer> +//CHECK: <key>col</key><integer>3</integer> +//CHECK: <key>file</key><integer>0</integer> +//CHECK: </dict> +//CHECK: </dict> +//CHECK: </array> +//CHECK: </dict> +//CHECK: </plist> |