From: Jordan Rose Date: Sat, 22 Sep 2012 01:24:46 +0000 (+0000) Subject: [analyzer] Better path notes for null pointers passed as arguments. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=85e99373835fe1b4cec624bc48dc8dfe14c2a783;p=clang [analyzer] Better path notes for null pointers passed as arguments. Rather than saying "Null pointer value stored to 'foo'", we now say "Passing null pointer value via Nth parameter 'foo'", which is much better. The note is also now on the argument expression as well, rather than the entire call. This paves the way for continuing to track arguments back to their sources. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164444 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp b/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp index 422fde7159..9bb8b8442e 100644 --- a/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp +++ b/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp @@ -23,6 +23,7 @@ #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" #include "clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h" #include "llvm/ADT/SmallString.h" +#include "llvm/ADT/StringExtras.h" using namespace clang; using namespace ento; @@ -297,6 +298,22 @@ PathDiagnosticPiece *FindLastStoreBRVisitor::VisitNode(const ExplodedNode *Succ, if (const BinaryOperator *BO = P->getStmtAs()) if (BO->isAssignmentOp()) InitE = BO->getRHS(); + + // If this is a call entry, the variable should be a parameter. + // FIXME: Handle CXXThisRegion as well. (This is not a priority because + // 'this' should never be NULL, but this visitor isn't just for NULL and + // UndefinedVal.) + if (const CallEnter *CE = Succ->getLocationAs()) { + const VarRegion *VR = cast(R); + const ParmVarDecl *Param = cast(VR->getDecl()); + + ProgramStateManager &StateMgr = BRC.getStateManager(); + CallEventManager &CallMgr = StateMgr.getCallEventManager(); + + CallEventRef<> Call = CallMgr.getCaller(CE->getCalleeContext(), + Succ->getState()); + InitE = Call->getArgExpr(Param->getFunctionScopeIndex()); + } } if (!StoreSite) @@ -310,6 +327,9 @@ PathDiagnosticPiece *FindLastStoreBRVisitor::VisitNode(const ExplodedNode *Succ, ReturnVisitor::addVisitorIfNecessary(StoreSite, InitE, BR); } + if (!R->canPrintPretty()) + return 0; + // Okay, we've found the binding. Emit an appropriate message. SmallString<256> sbuf; llvm::raw_svector_ostream os(sbuf); @@ -353,6 +373,30 @@ PathDiagnosticPiece *FindLastStoreBRVisitor::VisitNode(const ExplodedNode *Succ, os << "initialized here"; } } + } else if (isa(StoreSite->getLocation())) { + const ParmVarDecl *Param = cast(cast(R)->getDecl()); + + os << "Passing "; + + if (isa(V)) { + if (Param->getType()->isObjCObjectPointerType()) + os << "nil object reference"; + else + os << "null pointer value"; + } else if (V.isUndef()) { + os << "uninitialized value"; + } else if (isa(V)) { + os << "the value " << cast(V).getValue(); + } else { + os << "value"; + } + + // Printed parameter indexes are 1-based, not 0-based. + unsigned Idx = Param->getFunctionScopeIndex() + 1; + os << " via " << Idx << llvm::getOrdinalSuffix(Idx) << " parameter '"; + + R->printPretty(os); + os << '\''; } if (os.str().empty()) { @@ -380,17 +424,19 @@ PathDiagnosticPiece *FindLastStoreBRVisitor::VisitNode(const ExplodedNode *Succ, else os << "Value assigned to "; - if (const VarRegion *VR = dyn_cast(R)) { - os << '\'' << *VR->getDecl() << '\''; - } - else - return NULL; + os << '\''; + R->printPretty(os); + os << '\''; } // Construct a new PathDiagnosticPiece. ProgramPoint P = StoreSite->getLocation(); - PathDiagnosticLocation L = - PathDiagnosticLocation::create(P, BRC.getSourceManager()); + PathDiagnosticLocation L; + if (isa(P)) + L = PathDiagnosticLocation(InitE, BRC.getSourceManager(), + P.getLocationContext()); + else + L = PathDiagnosticLocation::create(P, BRC.getSourceManager()); if (!L.isValid()) return NULL; return new PathDiagnosticEventPiece(L, os.str()); diff --git a/test/Analysis/inline-plist.c b/test/Analysis/inline-plist.c index 40e684f7d8..48ba6cfd2f 100644 --- a/test/Analysis/inline-plist.c +++ b/test/Analysis/inline-plist.c @@ -1,40 +1,53 @@ +// RUN: %clang --analyze %s -fblocks -Xanalyzer -analyzer-output=text -Xclang -verify %s // RUN: %clang --analyze %s -fblocks -o %t // RUN: FileCheck -input-file %t %s // void mmm(int y) { if (y != 0) - y++; + y++; } int foo(int x, int y) { - mmm(y); - if (x != 0) - x++; - return 5/x; + mmm(y); + if (x != 0) { + // expected-note@-1 {{Assuming 'x' is equal to 0}} + // expected-note@-2 {{Taking false branch}} + x++; + } + return 5/x; // expected-warning{{Division by zero}} expected-note{{Division by zero}} } // Test a bug triggering only when inlined. void has_bug(int *p) { - *p = 0xDEADBEEF; + *p = 0xDEADBEEF; // expected-warning{{Dereference of null pointer (loaded from variable 'p')}} expected-note{{Dereference of null pointer (loaded from variable 'p')}} } void test_has_bug() { has_bug(0); + // expected-note@-1 {{Passing null pointer value via 1st parameter 'p'}} + // expected-note@-2 {{Calling 'has_bug'}} } void triggers_bug(int *p) { - *p = 0xDEADBEEF; + *p = 0xDEADBEEF; // expected-warning{{Dereference of null pointer (loaded from variable 'p')}} expected-note{{Dereference of null pointer (loaded from variable 'p')}} } // This function triggers a bug by calling triggers_bug(). The diagnostics // should show when p is assumed to be null. void bar(int *p) { - if (!!p) + if (!!p) { + // expected-note@-1 {{Assuming 'p' is null}} + // expected-note@-2 {{Taking false branch}} return; + } - if (p == 0) + if (p == 0) { + // expected-note@-1 {{Taking true branch}} triggers_bug(p); + // expected-note@-1 {{Passing null pointer value via 1st parameter 'p'}} + // expected-note@-2 {{Calling 'triggers_bug'}} + } } // ========================================================================== // @@ -42,25 +55,35 @@ void bar(int *p) { // ========================================================================== // void test_block__capture_null() { - int *p = 0; - ^(){ *p = 1; }(); + int *p = 0; // expected-note{{Variable 'p' initialized to a null pointer value}} + ^(){ // expected-note {{Calling anonymous block}} + *p = 1; // expected-warning{{Dereference of null pointer (loaded from variable 'p')}} expected-note{{Dereference of null pointer (loaded from variable 'p')}} + }(); + } void test_block_ret() { - int *p = ^(){ int *q = 0; return q; }(); - *p = 1; + int *p = ^(){ // expected-note {{Calling anonymous block}} expected-note{{Returning to caller}} expected-note {{Variable 'p' initialized to a null pointer value}} + int *q = 0; // expected-note {{Variable 'q' initialized to a null pointer value}} + return q; // expected-note {{Returning null pointer (loaded from 'q')}} + }(); + *p = 1; // expected-warning{{Dereference of null pointer (loaded from variable 'p')}} expected-note{{Dereference of null pointer (loaded from variable 'p')}} } void test_block_blockvar() { __block int *p; - ^(){ p = 0; }(); - *p = 1; + ^(){ // expected-note{{Calling anonymous block}} expected-note{{Returning to caller}} + p = 0; // expected-note{{Null pointer value stored to 'p'}} + }(); + *p = 1; // expected-warning{{Dereference of null pointer (loaded from variable 'p')}} expected-note{{Dereference of null pointer (loaded from variable 'p')}} } void test_block_arg() { int *p; - ^(int **q){ *q = 0; }(&p); - *p = 1; + ^(int **q){ // expected-note{{Calling anonymous block}} expected-note{{Returning to caller}} + *q = 0; // expected-note{{Null pointer value stored to 'p'}} + }(&p); + *p = 1; // expected-warning{{Dereference of null pointer (loaded from variable 'p')}} expected-note{{Dereference of null pointer (loaded from variable 'p')}} } // CHECK: diagnostics @@ -76,26 +99,26 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col5 +// CHECK-NEXT: line12 +// CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line11 -// CHECK-NEXT: col7 +// CHECK-NEXT: line12 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col5 +// CHECK-NEXT: line13 +// CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col6 +// CHECK-NEXT: line13 +// CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -110,26 +133,26 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col5 +// CHECK-NEXT: line13 +// CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col6 +// CHECK-NEXT: line13 +// CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 +// CHECK-NEXT: line13 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 +// CHECK-NEXT: line13 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -140,21 +163,21 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 +// CHECK-NEXT: line13 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 +// CHECK-NEXT: line13 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col14 +// CHECK-NEXT: line13 +// CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -163,7 +186,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Assuming 'x' is equal to 0 // CHECK-NEXT: message -// CHECK-NEXT: Assuming 'x' is equal to 0 +// CHECK-NEXT: Assuming 'x' is equal to 0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -173,26 +196,26 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 +// CHECK-NEXT: line13 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line12 -// CHECK-NEXT: col9 +// CHECK-NEXT: line13 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col5 +// CHECK-NEXT: line18 +// CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col10 +// CHECK-NEXT: line18 +// CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -207,26 +230,26 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col5 +// CHECK-NEXT: line18 +// CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col10 +// CHECK-NEXT: line18 +// CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col12 +// CHECK-NEXT: line18 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col12 +// CHECK-NEXT: line18 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -237,21 +260,21 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col12 +// CHECK-NEXT: line18 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col12 +// CHECK-NEXT: line18 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col14 +// CHECK-NEXT: line18 +// CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -260,7 +283,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Division by zero // CHECK-NEXT: message -// CHECK-NEXT: Division by zero +// CHECK-NEXT: Division by zero // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: descriptionDivision by zero @@ -268,11 +291,11 @@ void test_block_arg() { // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfoo -// CHECK-NEXT: issue_hash4 +// CHECK-NEXT: issue_hash7 // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line14 -// CHECK-NEXT: col12 +// CHECK-NEXT: line18 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -280,39 +303,73 @@ void test_block_arg() { // CHECK-NEXT: path // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col9 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line27 +// CHECK-NEXT: col11 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col3 +// CHECK-NEXT: line27 +// CHECK-NEXT: col11 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col3 +// CHECK-NEXT: line27 +// CHECK-NEXT: col11 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 -// CHECK-NEXT: col12 +// CHECK-NEXT: line27 +// CHECK-NEXT: col11 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: depth0 // CHECK-NEXT: extended_message -// CHECK-NEXT: Null pointer value stored to 'p' +// CHECK-NEXT: Passing null pointer value via 1st parameter 'p' // CHECK-NEXT: message -// CHECK-NEXT: Null pointer value stored to 'p' +// CHECK-NEXT: Passing null pointer value via 1st parameter 'p' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line23 +// CHECK-NEXT: line27 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -320,12 +377,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 +// CHECK-NEXT: line27 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line23 +// CHECK-NEXT: line27 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -335,13 +392,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Calling 'has_bug' // CHECK-NEXT: message -// CHECK-NEXT: Calling 'has_bug' +// CHECK-NEXT: Calling 'has_bug' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line18 +// CHECK-NEXT: line22 // CHECK-NEXT: col1 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -349,7 +406,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Entered call from 'test_has_bug' // CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'test_has_bug' +// CHECK-NEXT: Entered call from 'test_has_bug' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -359,12 +416,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line18 +// CHECK-NEXT: line22 // CHECK-NEXT: col1 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line18 +// CHECK-NEXT: line22 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -372,12 +429,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line19 +// CHECK-NEXT: line23 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line19 +// CHECK-NEXT: line23 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -389,7 +446,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line19 +// CHECK-NEXT: line23 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -397,12 +454,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line19 +// CHECK-NEXT: line23 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line19 +// CHECK-NEXT: line23 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -412,7 +469,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: message -// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') +// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') @@ -423,7 +480,7 @@ void test_block_arg() { // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line19 +// CHECK-NEXT: line23 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -439,12 +496,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -452,12 +509,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -469,7 +526,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -477,12 +534,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col9 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -492,7 +549,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Assuming 'p' is null // CHECK-NEXT: message -// CHECK-NEXT: Assuming 'p' is null +// CHECK-NEXT: Assuming 'p' is null // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -502,12 +559,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line33 +// CHECK-NEXT: line39 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -515,12 +572,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line36 +// CHECK-NEXT: line45 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line36 +// CHECK-NEXT: line45 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -536,12 +593,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line36 +// CHECK-NEXT: line45 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line36 +// CHECK-NEXT: line45 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -549,12 +606,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line37 +// CHECK-NEXT: line47 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line37 +// CHECK-NEXT: line47 // CHECK-NEXT: col16 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -563,39 +620,73 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line47 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line47 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line47 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line47 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line37 -// CHECK-NEXT: col5 +// CHECK-NEXT: line47 +// CHECK-NEXT: col18 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line37 -// CHECK-NEXT: col5 +// CHECK-NEXT: line47 +// CHECK-NEXT: col18 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line37 -// CHECK-NEXT: col19 +// CHECK-NEXT: line47 +// CHECK-NEXT: col18 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: depth0 // CHECK-NEXT: extended_message -// CHECK-NEXT: Null pointer value stored to 'p' +// CHECK-NEXT: Passing null pointer value via 1st parameter 'p' // CHECK-NEXT: message -// CHECK-NEXT: Null pointer value stored to 'p' +// CHECK-NEXT: Passing null pointer value via 1st parameter 'p' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line37 +// CHECK-NEXT: line47 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -603,12 +694,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line37 +// CHECK-NEXT: line47 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line37 +// CHECK-NEXT: line47 // CHECK-NEXT: col19 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -618,13 +709,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Calling 'triggers_bug' // CHECK-NEXT: message -// CHECK-NEXT: Calling 'triggers_bug' +// CHECK-NEXT: Calling 'triggers_bug' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line26 +// CHECK-NEXT: line32 // CHECK-NEXT: col1 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -632,7 +723,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Entered call from 'bar' // CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'bar' +// CHECK-NEXT: Entered call from 'bar' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -642,12 +733,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line26 +// CHECK-NEXT: line32 // CHECK-NEXT: col1 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line26 +// CHECK-NEXT: line32 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -655,12 +746,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line27 +// CHECK-NEXT: line33 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line27 +// CHECK-NEXT: line33 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -672,7 +763,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line27 +// CHECK-NEXT: line33 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -680,12 +771,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line27 +// CHECK-NEXT: line33 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line27 +// CHECK-NEXT: line33 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -695,7 +786,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: message -// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') +// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') @@ -706,7 +797,7 @@ void test_block_arg() { // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line27 +// CHECK-NEXT: line33 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -718,7 +809,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line45 +// CHECK-NEXT: line58 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -726,12 +817,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line45 +// CHECK-NEXT: line58 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line45 +// CHECK-NEXT: line58 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -741,7 +832,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Variable 'p' initialized to a null pointer value // CHECK-NEXT: message -// CHECK-NEXT: Variable 'p' initialized to a null pointer value +// CHECK-NEXT: Variable 'p' initialized to a null pointer value // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -751,12 +842,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line45 +// CHECK-NEXT: line58 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line45 +// CHECK-NEXT: line58 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -764,12 +855,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 +// CHECK-NEXT: line59 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 +// CHECK-NEXT: line59 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -781,7 +872,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line46 +// CHECK-NEXT: line59 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -789,13 +880,13 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 +// CHECK-NEXT: line59 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 -// CHECK-NEXT: col18 +// CHECK-NEXT: line61 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -804,13 +895,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Calling anonymous block // CHECK-NEXT: message -// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: Calling anonymous block // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line46 +// CHECK-NEXT: line59 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -818,7 +909,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Entered call from 'test_block__capture_null' // CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'test_block__capture_null' +// CHECK-NEXT: Entered call from 'test_block__capture_null' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -828,12 +919,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 +// CHECK-NEXT: line59 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 +// CHECK-NEXT: line59 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -841,13 +932,13 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 -// CHECK-NEXT: col8 +// CHECK-NEXT: line60 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 -// CHECK-NEXT: col8 +// CHECK-NEXT: line60 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -858,21 +949,21 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line46 -// CHECK-NEXT: col8 +// CHECK-NEXT: line60 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 -// CHECK-NEXT: col9 +// CHECK-NEXT: line60 +// CHECK-NEXT: col6 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line46 -// CHECK-NEXT: col9 +// CHECK-NEXT: line60 +// CHECK-NEXT: col6 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -881,7 +972,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: message -// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') +// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') @@ -889,8 +980,8 @@ void test_block_arg() { // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line46 -// CHECK-NEXT: col8 +// CHECK-NEXT: line60 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -905,12 +996,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -918,12 +1009,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -935,7 +1026,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -943,13 +1034,13 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col41 +// CHECK-NEXT: line69 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -958,13 +1049,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Calling anonymous block // CHECK-NEXT: message -// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: Calling anonymous block // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -972,7 +1063,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Entered call from 'test_block_ret' // CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'test_block_ret' +// CHECK-NEXT: Entered call from 'test_block_ret' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -982,12 +1073,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -995,13 +1086,13 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col17 +// CHECK-NEXT: line67 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col19 +// CHECK-NEXT: line67 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1012,21 +1103,21 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col17 +// CHECK-NEXT: line67 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col17 +// CHECK-NEXT: line67 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col22 +// CHECK-NEXT: line67 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1035,7 +1126,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Variable 'q' initialized to a null pointer value // CHECK-NEXT: message -// CHECK-NEXT: Variable 'q' initialized to a null pointer value +// CHECK-NEXT: Variable 'q' initialized to a null pointer value // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -1045,26 +1136,26 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col17 +// CHECK-NEXT: line67 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col19 +// CHECK-NEXT: line67 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col29 +// CHECK-NEXT: line68 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col34 +// CHECK-NEXT: line68 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1075,21 +1166,21 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col29 +// CHECK-NEXT: line68 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col29 +// CHECK-NEXT: line68 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col36 +// CHECK-NEXT: line68 +// CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1098,13 +1189,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Returning null pointer (loaded from 'q') // CHECK-NEXT: message -// CHECK-NEXT: Returning null pointer (loaded from 'q') +// CHECK-NEXT: Returning null pointer (loaded from 'q') // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1112,13 +1203,13 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 -// CHECK-NEXT: col41 +// CHECK-NEXT: line69 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1127,7 +1218,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Returning to caller // CHECK-NEXT: message -// CHECK-NEXT: Returning to caller +// CHECK-NEXT: Returning to caller // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -1137,12 +1228,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1150,12 +1241,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1171,12 +1262,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col12 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1184,12 +1275,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1201,7 +1292,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1209,12 +1300,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col8 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1224,7 +1315,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Variable 'p' initialized to a null pointer value // CHECK-NEXT: message -// CHECK-NEXT: Variable 'p' initialized to a null pointer value +// CHECK-NEXT: Variable 'p' initialized to a null pointer value // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -1234,12 +1325,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line50 +// CHECK-NEXT: line66 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1247,12 +1338,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line51 +// CHECK-NEXT: line70 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line51 +// CHECK-NEXT: line70 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1264,7 +1355,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line51 +// CHECK-NEXT: line70 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1272,12 +1363,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line51 +// CHECK-NEXT: line70 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line51 +// CHECK-NEXT: line70 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1287,7 +1378,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: message -// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') +// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') @@ -1295,10 +1386,10 @@ void test_block_arg() { // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_ret -// CHECK-NEXT: issue_hash2 +// CHECK-NEXT: issue_hash5 // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line51 +// CHECK-NEXT: line70 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1314,12 +1405,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line55 +// CHECK-NEXT: line74 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line55 +// CHECK-NEXT: line74 // CHECK-NEXT: col9 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1327,12 +1418,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1344,7 +1435,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1352,13 +1443,13 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col17 +// CHECK-NEXT: line77 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1367,13 +1458,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Calling anonymous block // CHECK-NEXT: message -// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: Calling anonymous block // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1381,7 +1472,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Entered call from 'test_block_blockvar' // CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'test_block_blockvar' +// CHECK-NEXT: Entered call from 'test_block_blockvar' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -1391,12 +1482,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1404,13 +1495,13 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col8 +// CHECK-NEXT: line76 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col8 +// CHECK-NEXT: line76 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1421,21 +1512,21 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col8 +// CHECK-NEXT: line76 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col8 +// CHECK-NEXT: line76 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col12 +// CHECK-NEXT: line76 +// CHECK-NEXT: col9 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1444,13 +1535,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Null pointer value stored to 'p' // CHECK-NEXT: message -// CHECK-NEXT: Null pointer value stored to 'p' +// CHECK-NEXT: Null pointer value stored to 'p' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1458,13 +1549,13 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 -// CHECK-NEXT: col17 +// CHECK-NEXT: line77 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1473,7 +1564,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Returning to caller // CHECK-NEXT: message -// CHECK-NEXT: Returning to caller +// CHECK-NEXT: Returning to caller // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -1483,12 +1574,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line56 +// CHECK-NEXT: line75 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1496,12 +1587,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line57 +// CHECK-NEXT: line78 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line57 +// CHECK-NEXT: line78 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1513,7 +1604,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line57 +// CHECK-NEXT: line78 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1521,12 +1612,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line57 +// CHECK-NEXT: line78 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line57 +// CHECK-NEXT: line78 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1536,7 +1627,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: message -// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') +// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') @@ -1544,10 +1635,10 @@ void test_block_arg() { // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_blockvar -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash5 // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line57 +// CHECK-NEXT: line78 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1563,12 +1654,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line61 +// CHECK-NEXT: line82 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line61 +// CHECK-NEXT: line82 // CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1576,12 +1667,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1593,7 +1684,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1601,13 +1692,13 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 -// CHECK-NEXT: col27 +// CHECK-NEXT: line85 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1616,13 +1707,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Calling anonymous block // CHECK-NEXT: message -// CHECK-NEXT: Calling anonymous block +// CHECK-NEXT: Calling anonymous block // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1630,7 +1721,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Entered call from 'test_block_arg' // CHECK-NEXT: message -// CHECK-NEXT: Entered call from 'test_block_arg' +// CHECK-NEXT: Entered call from 'test_block_arg' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -1640,12 +1731,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1653,13 +1744,13 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 -// CHECK-NEXT: col15 +// CHECK-NEXT: line84 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 -// CHECK-NEXT: col15 +// CHECK-NEXT: line84 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1670,21 +1761,21 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line62 -// CHECK-NEXT: col15 +// CHECK-NEXT: line84 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: ranges // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 -// CHECK-NEXT: col15 +// CHECK-NEXT: line84 +// CHECK-NEXT: col5 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 -// CHECK-NEXT: col20 +// CHECK-NEXT: line84 +// CHECK-NEXT: col10 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1693,13 +1784,13 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Null pointer value stored to 'p' // CHECK-NEXT: message -// CHECK-NEXT: Null pointer value stored to 'p' +// CHECK-NEXT: Null pointer value stored to 'p' // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1707,13 +1798,13 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 -// CHECK-NEXT: col27 +// CHECK-NEXT: line85 +// CHECK-NEXT: col7 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: @@ -1722,7 +1813,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Returning to caller // CHECK-NEXT: message -// CHECK-NEXT: Returning to caller +// CHECK-NEXT: Returning to caller // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: kindcontrol @@ -1732,12 +1823,12 @@ void test_block_arg() { // CHECK-NEXT: start // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line62 +// CHECK-NEXT: line83 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1745,12 +1836,12 @@ void test_block_arg() { // CHECK-NEXT: end // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line63 +// CHECK-NEXT: line86 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line63 +// CHECK-NEXT: line86 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1762,7 +1853,7 @@ void test_block_arg() { // CHECK-NEXT: kindevent // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line63 +// CHECK-NEXT: line86 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1770,12 +1861,12 @@ void test_block_arg() { // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line63 +// CHECK-NEXT: line86 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line63 +// CHECK-NEXT: line86 // CHECK-NEXT: col4 // CHECK-NEXT: file0 // CHECK-NEXT: @@ -1785,7 +1876,7 @@ void test_block_arg() { // CHECK-NEXT: extended_message // CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: message -// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') +// CHECK-NEXT: Dereference of null pointer (loaded from variable 'p') // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') @@ -1793,10 +1884,10 @@ void test_block_arg() { // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_arg -// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: issue_hash5 // CHECK-NEXT: location // CHECK-NEXT: -// CHECK-NEXT: line63 +// CHECK-NEXT: line86 // CHECK-NEXT: col3 // CHECK-NEXT: file0 // CHECK-NEXT: