1048eeea6852043990c87e52938b53b5337bd098eJordan Rose// RUN: %clang --analyze %s -Xanalyzer -analyzer-config -Xanalyzer path-diagnostics-alternate=false -o %t > /dev/null 2>&1 2bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek// RUN: FileCheck -input-file %t %s 3bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek 4bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenekstatic inline bug(int *p) { 5bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek *p = 0xDEADBEEF; 6bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek} 7bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek 8bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenekvoid test_bug_1() { 9bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek int *p = 0; 10bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek bug(p); 11bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek} 12bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek 13bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenekvoid test_bug_2() { 14bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek int *p = 0; 15bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek bug(p); 16bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek} 17bac341346f3c8e713a8f165120fd54b500ee3189Ted Kremenek 187453a72cd0dcc70f29006ba488b743f078072bc7Ted Kremenek 190f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK: <key>diagnostics</key> 200f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 210f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 220f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>path</key> 230f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 240f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 250f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>event</string> 260f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>location</key> 270f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 280f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>14</integer> 290f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 300f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 310f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 320f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>ranges</key> 330f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 340f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 350f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 360f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>14</integer> 370f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 380f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 390f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 400f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 410f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>14</integer> 420f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>8</integer> 430f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 440f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 450f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 460f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 470f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>depth</key><integer>0</integer> 480f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>extended_message</key> 490f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>'p' initialized to a null pointer value</string> 500f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>message</key> 510f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>'p' initialized to a null pointer value</string> 520f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 530f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 540f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>control</string> 550f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>edges</key> 560f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 570f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 580f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>start</key> 590f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 600f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 610f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>14</integer> 620f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 630f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 640f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 650f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 660f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>14</integer> 670f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>5</integer> 680f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 690f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 700f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 710f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>end</key> 720f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 730f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 740f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 750f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 760f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 770f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 780f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 790f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 800f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>5</integer> 810f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 820f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 830f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 840f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 850f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 860f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 870f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 880f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>control</string> 890f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>edges</key> 900f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 910f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 920f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>start</key> 930f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 940f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 950f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 960f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 970f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 980f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 990f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1000f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1010f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>5</integer> 1020f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1030f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1040f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 1050f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>end</key> 1060f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 1070f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1080f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1090f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>7</integer> 1100f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1110f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1120f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1130f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1140f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>7</integer> 1150f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1160f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1170f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 1180f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1190f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 1200f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1210f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1220f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>event</string> 1230f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>location</key> 1240f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1250f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1260f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>7</integer> 1270f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1280f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1290f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>ranges</key> 1300f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 1310f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 1320f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1330f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1340f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>7</integer> 1350f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1360f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1370f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1380f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1390f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>7</integer> 1400f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1410f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1420f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 1430f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 1440f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>depth</key><integer>0</integer> 1450f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>extended_message</key> 1460f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Passing null pointer value via 1st parameter 'p'</string> 1470f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>message</key> 1480f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Passing null pointer value via 1st parameter 'p'</string> 1490f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1500f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1510f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>event</string> 1520f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>location</key> 1530f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1540f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1550f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 1560f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1570f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1580f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>ranges</key> 1590f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 1600f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 1610f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1620f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1630f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 1640f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1650f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1660f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1670f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>15</integer> 1680f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>8</integer> 1690f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1700f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1710f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 1720f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 1730f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>depth</key><integer>0</integer> 1740f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>extended_message</key> 1750f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Calling 'bug'</string> 1760f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>message</key> 1770f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Calling 'bug'</string> 1780f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1790f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1800f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>event</string> 1810f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>location</key> 1820f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1830f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>4</integer> 1840f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>1</integer> 1850f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 1860f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1870f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>depth</key><integer>1</integer> 1880f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>extended_message</key> 1890f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Entered call from 'test_bug_2'</string> 1900f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>message</key> 1910f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Entered call from 'test_bug_2'</string> 1920f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 1930f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1940f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>control</string> 1950f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>edges</key> 1960f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 1970f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 1980f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>start</key> 1990f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 2000f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2010f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>4</integer> 2020f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>1</integer> 2030f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2040f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2050f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2060f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>4</integer> 2070f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>6</integer> 2080f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2090f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2100f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2110f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>end</key> 2120f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 2130f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2140f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2150f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 2160f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2170f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2180f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2190f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2200f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 2210f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2220f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2230f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2240f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2250f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2260f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2270f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2280f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>control</string> 2290f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>edges</key> 2300f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 2310f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2320f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>start</key> 2330f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 2340f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2350f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2360f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 2370f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2380f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2390f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2400f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2410f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>3</integer> 2420f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2430f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2440f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2450f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>end</key> 2460f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 2470f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2480f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2490f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>6</integer> 2500f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2510f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2520f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2530f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2540f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>6</integer> 2550f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2560f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2570f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2580f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2590f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2600f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2610f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2620f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>kind</key><string>event</string> 2630f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>location</key> 2640f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2650f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2660f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>6</integer> 2670f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2680f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2690f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>ranges</key> 2700f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 2710f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <array> 2720f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2730f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2740f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>4</integer> 2750f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2760f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2770f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2780f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 2790f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>4</integer> 2800f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 2810f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2820f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2830f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2840f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>depth</key><integer>1</integer> 2850f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>extended_message</key> 2860f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Dereference of null pointer (loaded from variable 'p')</string> 2870f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>message</key> 2880f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <string>Dereference of null pointer (loaded from variable 'p')</string> 2890f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 2900f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 2910f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>description</key><string>Dereference of null pointer (loaded from variable 'p')</string> 2920f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>category</key><string>Logic error</string> 2930f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>type</key><string>Dereference of null pointer</string> 2940f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>issue_context_kind</key><string>function</string> 2950f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>issue_context</key><string>bug</string> 2960f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>issue_hash</key><string>1</string> 2970f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>location</key> 2980f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <dict> 2990f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>line</key><integer>5</integer> 3000f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>col</key><integer>6</integer> 3010f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: <key>file</key><integer>0</integer> 3020f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 3030f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </dict> 3040f8579274a010f360a371b53101859d9d6052314Anna Zaks// CHECK-NEXT: </array> 305