// RUN: %clang --analyze %s -o %t > /dev/null 2>&1 // RUN: FileCheck -input-file %t %s static inline bug(int *p) { *p = 0xDEADBEEF; } void test_bug_1() { int *p = 0; bug(p); } void test_bug_2() { int *p = 0; bug(p); } // CHECK: // CHECK: // CHECK: // CHECK: files // CHECK: // CHECK: // CHECK: diagnostics // CHECK: // CHECK: // CHECK: path // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line14 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line14 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line15 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line15 // CHECK: col5 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line15 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line15 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line15 // CHECK: col8 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth0 // CHECK: extended_message // CHECK: Calling 'bug' // CHECK: message // CHECK: Calling 'bug' // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line4 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Entered call from 'test_bug_2' // CHECK: message // CHECK: Entered call from 'test_bug_2' // CHECK: // CHECK: // CHECK: kindcontrol // CHECK: edges // CHECK: // CHECK: // CHECK: start // CHECK: // CHECK: // CHECK: line4 // CHECK: col1 // CHECK: file0 // CHECK: // CHECK: // CHECK: line4 // CHECK: col6 // CHECK: file0 // CHECK: // CHECK: // CHECK: end // CHECK: // CHECK: // CHECK: line5 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: line5 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: kindevent // CHECK: location // CHECK: // CHECK: line5 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: ranges // CHECK: // CHECK: // CHECK: // CHECK: line5 // CHECK: col4 // CHECK: file0 // CHECK: // CHECK: // CHECK: line5 // CHECK: col4 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: depth1 // CHECK: extended_message // CHECK: Dereference of null pointer (loaded from variable 'p') // CHECK: message // CHECK: Dereference of null pointer (loaded from variable 'p') // CHECK: // CHECK: // CHECK: descriptionDereference of null pointer (loaded from variable 'p') // CHECK: categoryLogic error // CHECK: typeDereference of null pointer // CHECK: issue_context_kindfunction // CHECK: issue_contextbug // CHECK: issue_hash1 // CHECK: location // CHECK: // CHECK: line5 // CHECK: col3 // CHECK: file0 // CHECK: // CHECK: // CHECK: // CHECK: // CHECK: