Index: lib/StaticAnalyzer/Core/PlistDiagnostics.cpp =================================================================== --- lib/StaticAnalyzer/Core/PlistDiagnostics.cpp +++ lib/StaticAnalyzer/Core/PlistDiagnostics.cpp @@ -387,7 +387,9 @@ EmitString(o, D->getCategory()) << '\n'; o << " type"; EmitString(o, D->getBugType()) << '\n'; - + o << " check_name"; + EmitString(o, D->getCheckName()) << '\n'; + // Output information about the semantic context where // the issue occurred. if (const Decl *DeclWithIssue = D->getDeclWithIssue()) { Index: test/Analysis/MismatchedDeallocator-path-notes.cpp =================================================================== --- test/Analysis/MismatchedDeallocator-path-notes.cpp +++ test/Analysis/MismatchedDeallocator-path-notes.cpp @@ -146,6 +146,7 @@ // CHECK-NEXT: descriptionMemory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator +// CHECK-NEXT: check_nameunix.MismatchedDeallocator // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash4 Index: test/Analysis/NewDelete-path-notes.cpp =================================================================== --- test/Analysis/NewDelete-path-notes.cpp +++ test/Analysis/NewDelete-path-notes.cpp @@ -259,6 +259,7 @@ // CHECK-NEXT: descriptionAttempt to free released memory // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeDouble free +// CHECK-NEXT: check_namecplusplus.NewDelete // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash8 @@ -474,6 +475,7 @@ // CHECK-NEXT: descriptionAttempt to free released memory // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeDouble free +// CHECK-NEXT: check_namecplusplus.NewDelete // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash3 Index: test/Analysis/conditional-path-notes.c =================================================================== --- test/Analysis/conditional-path-notes.c +++ test/Analysis/conditional-path-notes.c @@ -313,6 +313,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'x') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCondOp // CHECK-NEXT: issue_hash5 @@ -456,6 +457,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCondProblem // CHECK-NEXT: issue_hash5 @@ -599,6 +601,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLHSProblem // CHECK-NEXT: issue_hash1 @@ -742,6 +745,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestRHSProblem // CHECK-NEXT: issue_hash1 @@ -953,6 +957,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'x') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBinaryCondOp // CHECK-NEXT: issue_hash4 @@ -1096,6 +1101,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBinaryLHSProblem // CHECK-NEXT: issue_hash5 @@ -1273,6 +1279,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDiagnosableBranch // CHECK-NEXT: issue_hash4 @@ -1455,6 +1462,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonDiagnosableBranchLogical // CHECK-NEXT: issue_hash4 @@ -1569,6 +1577,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonDiagnosableBranchArithmetic // CHECK-NEXT: issue_hash3 Index: test/Analysis/cxx-for-range.cpp =================================================================== --- test/Analysis/cxx-for-range.cpp +++ test/Analysis/cxx-for-range.cpp @@ -596,6 +596,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoop // CHECK-NEXT: issue_hash6 @@ -821,6 +822,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextget // CHECK-NEXT: issue_hash2 @@ -1095,6 +1097,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueCollection // CHECK-NEXT: issue_hash5 @@ -1238,6 +1241,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueCollection // CHECK-NEXT: issue_hash11 @@ -1512,6 +1516,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueIterator // CHECK-NEXT: issue_hash5 @@ -1655,6 +1660,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueIterator // CHECK-NEXT: issue_hash11 Index: test/Analysis/diagnostics/deref-track-symbolic-region.c =================================================================== --- test/Analysis/diagnostics/deref-track-symbolic-region.c +++ test/Analysis/diagnostics/deref-track-symbolic-region.c @@ -305,6 +305,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'x') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash11 @@ -642,6 +643,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestTrackConstraintBRVisitorIsTrackingTurnedOn // CHECK-NEXT: issue_hash11 Index: test/Analysis/diagnostics/report-issues-within-main-file.cpp =================================================================== --- test/Analysis/diagnostics/report-issues-within-main-file.cpp +++ test/Analysis/diagnostics/report-issues-within-main-file.cpp @@ -248,6 +248,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcause_div_by_zero_in_header2 // CHECK-NEXT: issue_hash2 @@ -511,6 +512,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcause_div_by_zero_in_header3 // CHECK-NEXT: issue_hash2 @@ -697,6 +699,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcause_div_by_zero_in_header4 // CHECK-NEXT: issue_hash2 @@ -937,6 +940,7 @@ // CHECK-NEXT: descriptionMemory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' (within a call to '~auto_ptr') // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator +// CHECK-NEXT: check_nameunix.MismatchedDeallocator // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmainPlusHeader // CHECK-NEXT: issue_hash2 @@ -1269,6 +1273,7 @@ // CHECK-NEXT: descriptionDivision by zero (within a call to 'cause_div_by_zero_in_header') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextauxInMain // CHECK-NEXT: issue_hash3 @@ -1489,6 +1494,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcauseDivByZeroInMain // CHECK-NEXT: issue_hash2 @@ -1743,6 +1749,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcauseDivByZeroInMain2 // CHECK-NEXT: issue_hash2 Index: test/Analysis/diagnostics/undef-value-caller.c =================================================================== --- test/Analysis/diagnostics/undef-value-caller.c +++ test/Analysis/diagnostics/undef-value-caller.c @@ -146,6 +146,7 @@ // CHECK-NEXT: descriptionUndefined or garbage value returned to caller // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeGarbage return value +// CHECK-NEXT: check_namecore.uninitialized.UndefReturn // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calling_unimportant_callee // CHECK-NEXT: issue_hash3 Index: test/Analysis/diagnostics/undef-value-param.c =================================================================== --- test/Analysis/diagnostics/undef-value-param.c +++ test/Analysis/diagnostics/undef-value-param.c @@ -435,6 +435,7 @@ // CHECK-NEXT: descriptionThe left operand of '+' is a garbage value // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeResult of operation is garbage or undefined +// CHECK-NEXT: check_namecore.UndefinedBinaryOperatorResult // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse // CHECK-NEXT: issue_hash7 @@ -752,6 +753,7 @@ // CHECK-NEXT: descriptionThe right operand of '*' is a garbage value // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeResult of operation is garbage or undefined +// CHECK-NEXT: check_namecore.UndefinedBinaryOperatorResult // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestPassingParentRegionArray // CHECK-NEXT: issue_hash4 @@ -1166,6 +1168,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'f1') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestPassingParentRegionStruct // CHECK-NEXT: issue_hash5 Index: test/Analysis/diagnostics/undef-value-param.m =================================================================== --- test/Analysis/diagnostics/undef-value-param.m +++ test/Analysis/diagnostics/undef-value-param.m @@ -543,6 +543,7 @@ // CHECK-NEXT: descriptionNull pointer argument in call to CFRelease // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typenull passed to CF memory management function +// CHECK-NEXT: check_nameosx.coreFoundation.CFRetainRelease // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash5 @@ -923,6 +924,7 @@ // CHECK-NEXT: descriptionFunction call argument is an uninitialized value // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeUninitialized argument value +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash5 Index: test/Analysis/edges-new.mm =================================================================== --- test/Analysis/edges-new.mm +++ test/Analysis/edges-new.mm @@ -725,6 +725,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init // CHECK-NEXT: issue_hash2 @@ -902,6 +903,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign // CHECK-NEXT: issue_hash3 @@ -1142,6 +1144,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'q') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive // CHECK-NEXT: issue_hash4 @@ -1319,6 +1322,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond // CHECK-NEXT: issue_hash2 @@ -1559,6 +1563,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive // CHECK-NEXT: issue_hash3 @@ -1736,6 +1741,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field // CHECK-NEXT: issue_hash3 @@ -2073,6 +2079,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_assumptions // CHECK-NEXT: issue_hash8 @@ -2342,6 +2349,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cond_assign // CHECK-NEXT: issue_hash4 @@ -2601,6 +2609,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'value' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar8331641 // CHECK-NEXT: issue_hash2 @@ -2778,6 +2787,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration // CHECK-NEXT: issue_hash3 @@ -2824,6 +2834,7 @@ // CHECK-NEXT: descriptionValue stored to 'x' is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead increment +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration_2 // CHECK-NEXT: issue_hash5 @@ -3030,6 +3041,7 @@ // CHECK-NEXT: descriptionThe left expression of the compound assignment is an uninitialized value. The computed value will also be garbage // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeAssigned value is garbage or undefined +// CHECK-NEXT: check_namecore.uninitialized.Assign // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration_2 // CHECK-NEXT: issue_hash5 @@ -3464,6 +3476,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar12280665 // CHECK-NEXT: issue_hash4 @@ -3767,6 +3780,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_for // CHECK-NEXT: issue_hash6 @@ -4036,6 +4050,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_while // CHECK-NEXT: issue_hash7 @@ -4538,6 +4553,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_foo_2 // CHECK-NEXT: issue_hash11 @@ -5035,6 +5051,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics // CHECK-NEXT: issue_hash3 @@ -5600,6 +5617,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_2 // CHECK-NEXT: issue_hash11 @@ -6165,6 +6183,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_3 // CHECK-NEXT: issue_hash10 @@ -6609,6 +6628,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_do_while // CHECK-NEXT: issue_hash12 @@ -6854,6 +6874,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_and // CHECK-NEXT: issue_hash3 @@ -7099,6 +7120,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_or // CHECK-NEXT: issue_hash3 @@ -7378,6 +7400,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_or_call // CHECK-NEXT: issue_hash4 @@ -7657,6 +7680,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_nested_logicals // CHECK-NEXT: issue_hash4 @@ -8072,6 +8096,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_nested_logicals // CHECK-NEXT: issue_hash8 @@ -8555,6 +8580,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_deeply_nested_logicals // CHECK-NEXT: issue_hash6 @@ -8965,6 +8991,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ternary // CHECK-NEXT: issue_hash5 @@ -9239,6 +9266,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestUseless // CHECK-NEXT: issue_hash8 @@ -9445,6 +9473,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestFoo // CHECK-NEXT: issue_hash3 @@ -9617,6 +9646,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest1_IPA_X // CHECK-NEXT: issue_hash2 @@ -10012,6 +10042,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_IPA_Y // CHECK-NEXT: issue_hash5 @@ -10232,6 +10263,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcauseDivByZeroInMain // CHECK-NEXT: issue_hash2 @@ -10375,6 +10407,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from ivar 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -10484,6 +10517,7 @@ // CHECK-NEXT: descriptionNull pointer passed as an argument to a 'nonnull' parameter // CHECK-NEXT: categoryAPI // CHECK-NEXT: typeArgument with 'nonnull' attribute passed null +// CHECK-NEXT: check_namecore.NonNullParamChecker // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextRDar13295437 // CHECK-NEXT: issue_hash3 @@ -10695,6 +10729,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCast // CHECK-NEXT: issue_hash5 @@ -10872,6 +10907,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash3 @@ -10930,6 +10966,7 @@ // CHECK-NEXT: descriptionValue stored to 'foo' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -11058,6 +11095,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'foo' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -11235,6 +11273,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash11 @@ -11679,6 +11718,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash20 @@ -12089,6 +12129,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash26 @@ -12562,6 +12603,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash34 @@ -13816,6 +13858,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash62 @@ -15133,6 +15176,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash67 @@ -16547,6 +16591,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash74 @@ -18058,6 +18103,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash83 @@ -18341,6 +18387,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'buf' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocDiagnostics // CHECK-NEXT: issue_hash1 @@ -18580,6 +18627,7 @@ // CHECK-NEXT: descriptionMemory allocated by 'new[]' should be deallocated by 'delete[]', not 'delete' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator +// CHECK-NEXT: check_nameunix.MismatchedDeallocator // CHECK-NEXT: issue_hash0 // CHECK-NEXT: location // CHECK-NEXT: @@ -19292,6 +19340,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'foo' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextlongLines // CHECK-NEXT: issue_hash1 @@ -19435,6 +19484,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestMacroInFunctionDecl // CHECK-NEXT: issue_hash2 @@ -19617,6 +19667,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_hash3 // CHECK-NEXT: location // CHECK-NEXT: Index: test/Analysis/inline-plist.c =================================================================== --- test/Analysis/inline-plist.c +++ test/Analysis/inline-plist.c @@ -289,6 +289,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfoo // CHECK-NEXT: issue_hash7 @@ -509,6 +510,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexthas_bug // CHECK-NEXT: issue_hash1 @@ -860,6 +862,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttriggers_bug // CHECK-NEXT: issue_hash1 @@ -1080,6 +1083,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line60 @@ -1452,6 +1456,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_ret // CHECK-NEXT: issue_hash5 @@ -1701,6 +1706,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_blockvar // CHECK-NEXT: issue_hash5 @@ -1950,6 +1956,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_arg // CHECK-NEXT: issue_hash5 Index: test/Analysis/inline-unique-reports.c =================================================================== --- test/Analysis/inline-unique-reports.c +++ test/Analysis/inline-unique-reports.c @@ -291,6 +291,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextbug // CHECK-NEXT: issue_hash1 Index: test/Analysis/inlining/eager-reclamation-path-notes.c =================================================================== --- test/Analysis/inlining/eager-reclamation-path-notes.c +++ test/Analysis/inlining/eager-reclamation-path-notes.c @@ -318,6 +318,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'ptr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse // CHECK-NEXT: issue_hash1 @@ -775,6 +776,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'ptr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse2 // CHECK-NEXT: issue_hash1 Index: test/Analysis/inlining/eager-reclamation-path-notes.cpp =================================================================== --- test/Analysis/inlining/eager-reclamation-path-notes.cpp +++ test/Analysis/inlining/eager-reclamation-path-notes.cpp @@ -372,6 +372,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is null // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmemberCallBaseDisappears // CHECK-NEXT: issue_hash19 Index: test/Analysis/inlining/path-notes.c =================================================================== --- test/Analysis/inlining/path-notes.c +++ test/Analysis/inlining/path-notes.c @@ -347,6 +347,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'a') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestZero // CHECK-NEXT: issue_hash4 @@ -524,6 +525,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'a') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCheck // CHECK-NEXT: issue_hash6 @@ -764,6 +766,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'a') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestInitCheck // CHECK-NEXT: issue_hash8 @@ -1004,6 +1007,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'a') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestStoreCheck // CHECK-NEXT: issue_hash8 @@ -1316,6 +1320,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZero // CHECK-NEXT: issue_hash1 @@ -1628,6 +1633,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZero2 // CHECK-NEXT: issue_hash1 @@ -2003,6 +2009,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'a') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestInitZero // CHECK-NEXT: issue_hash5 @@ -2378,6 +2385,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'a') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestStoreZero // CHECK-NEXT: issue_hash5 @@ -2796,6 +2804,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextusePointer // CHECK-NEXT: issue_hash1 @@ -3045,6 +3054,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestSetFieldToNull // CHECK-NEXT: issue_hash3 @@ -3154,6 +3164,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -3331,6 +3342,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest4 // CHECK-NEXT: issue_hash3 Index: test/Analysis/inlining/path-notes.cpp =================================================================== --- test/Analysis/inlining/path-notes.cpp +++ test/Analysis/inlining/path-notes.cpp @@ -877,6 +877,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextuse // CHECK-NEXT: issue_hash1 @@ -1165,6 +1166,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextmethod // CHECK-NEXT: issue_hash1 @@ -1414,6 +1416,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'globalPtr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -1661,6 +1664,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'globalPtr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -1942,6 +1946,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'globalPtr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -2257,6 +2262,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'globalPtr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextoperator= // CHECK-NEXT: issue_hash1 @@ -2608,6 +2614,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'globalPtr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextoperator= // CHECK-NEXT: issue_hash1 @@ -2895,6 +2902,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'globalPtr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -3142,6 +3150,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash1 @@ -3488,6 +3497,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestRef // CHECK-NEXT: issue_hash1 @@ -3597,6 +3607,7 @@ // CHECK-NEXT: descriptionReturning null reference // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeReturning null reference +// CHECK-NEXT: check_namecore.uninitialized.UndefReturn // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreturnNullReference // CHECK-NEXT: issue_hash3 @@ -3962,6 +3973,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'ptr') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -4166,6 +4178,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'y') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonPrintableAssignment // CHECK-NEXT: issue_hash3 @@ -4275,6 +4288,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'x') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -4452,6 +4466,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contexttestGetDerefExprOnMemberExprWithADot // CHECK-NEXT: issue_hash4 @@ -4561,6 +4576,7 @@ // CHECK-NEXT: descriptionDereference of undefined pointer value // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of undefined pointer value +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestGetDerefExprOnMemberExprWithADot // CHECK-NEXT: issue_hash2 @@ -4767,6 +4783,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is null // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDeclRefExprToReferenceInGetDerefExpr // CHECK-NEXT: issue_hash8 @@ -4987,6 +5004,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextgenerateNoteOnDefaultArgument // CHECK-NEXT: issue_hash1 @@ -5221,6 +5239,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: Index: test/Analysis/inlining/path-notes.m =================================================================== --- test/Analysis/inlining/path-notes.m +++ test/Analysis/inlining/path-notes.m @@ -575,6 +575,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZeroIfNil // CHECK-NEXT: issue_hash1 @@ -882,6 +883,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDispatchSyncInlining // CHECK-NEXT: issue_hash14 @@ -1131,6 +1133,7 @@ // CHECK-NEXT: descriptionVariable 'x' is uninitialized when captured by block // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeuninitialized variable captured by block +// CHECK-NEXT: check_namecore.uninitialized.CapturedBlockVariable // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line118 @@ -1445,6 +1448,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'x') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNilReceiverHelper // CHECK-NEXT: issue_hash1 @@ -1622,6 +1626,7 @@ // CHECK-NEXT: descriptionArray element cannot be nil // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typenil argument +// CHECK-NEXT: check_nameosx.cocoa.NilArg // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCreateArrayLiteral // CHECK-NEXT: issue_hash3 @@ -2017,6 +2022,7 @@ // CHECK-NEXT: descriptionObject autoreleased too many times // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestAutoreleaseTakesEffectInDispatch // CHECK-NEXT: issue_hash11 Index: test/Analysis/malloc-plist.c =================================================================== --- test/Analysis/malloc-plist.c +++ test/Analysis/malloc-plist.c @@ -408,6 +408,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'p' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextdiagnosticTest // CHECK-NEXT: issue_hash2 @@ -570,6 +571,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'A' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmyArrayAllocation // CHECK-NEXT: issue_hash2 @@ -955,6 +957,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'buf' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocDiagnostics // CHECK-NEXT: issue_hash1 @@ -1354,6 +1357,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'buf' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_wrapper // CHECK-NEXT: issue_hash1 @@ -1874,6 +1878,7 @@ // CHECK-NEXT: descriptionUse of memory after it is freed // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeUse-after-free +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_double_action_call // CHECK-NEXT: issue_hash3 @@ -2433,6 +2438,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'buf' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocIntra // CHECK-NEXT: issue_hash1 @@ -2701,6 +2707,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'v' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse_ret // CHECK-NEXT: issue_hash2 @@ -2863,6 +2870,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'm' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextLeakedSymbol // CHECK-NEXT: issue_hash3 @@ -3068,6 +3076,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'x' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak1 // CHECK-NEXT: issue_hash1 @@ -3273,6 +3282,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'x' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak2 // CHECK-NEXT: issue_hash1 @@ -3575,6 +3585,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'x' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak3 // CHECK-NEXT: issue_hash1 @@ -3877,6 +3888,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'x' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak4 // CHECK-NEXT: issue_hash1 @@ -4082,6 +4094,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'x' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak5 // CHECK-NEXT: issue_hash1 @@ -4287,6 +4300,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'x' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak6 // CHECK-NEXT: issue_hash1 @@ -4521,6 +4535,7 @@ // CHECK-NEXT: descriptionPotential memory leak // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse_function_with_leak7 // CHECK-NEXT: issue_hash1 @@ -4755,6 +4770,7 @@ // CHECK-NEXT: descriptionPotential memory leak // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestOnlyRefferToVisibleVariables // CHECK-NEXT: issue_hash1 @@ -5023,6 +5039,7 @@ // CHECK-NEXT: descriptionPotential memory leak // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestMyMalloc // CHECK-NEXT: issue_hash1 Index: test/Analysis/method-call-path-notes.cpp =================================================================== --- test/Analysis/method-call-path-notes.cpp +++ test/Analysis/method-call-path-notes.cpp @@ -143,6 +143,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is uninitialized // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is uninitialized +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic // CHECK-NEXT: issue_hash2 @@ -252,6 +253,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is null // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_null // CHECK-NEXT: issue_hash2 @@ -395,6 +397,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is null // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_set_to_null // CHECK-NEXT: issue_hash3 @@ -538,6 +541,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is null // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_null // CHECK-NEXT: issue_hash2 @@ -647,6 +651,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is null // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_member_ptr // CHECK-NEXT: issue_hash4 @@ -790,6 +795,7 @@ // CHECK-NEXT: descriptionCalled C++ object pointer is null // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null +// CHECK-NEXT: check_namecore.CallAndMessage // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cast // CHECK-NEXT: issue_hash2 Index: test/Analysis/model-file.cpp =================================================================== --- test/Analysis/model-file.cpp +++ test/Analysis/model-file.cpp @@ -275,6 +275,7 @@ // CHECK-NEXT: descriptionDivision by zero // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmain // CHECK-NEXT: issue_hash15 Index: test/Analysis/null-deref-path-notes.m =================================================================== --- test/Analysis/null-deref-path-notes.m +++ test/Analysis/null-deref-path-notes.m @@ -283,6 +283,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'x') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNull // CHECK-NEXT: issue_hash6 @@ -508,6 +509,7 @@ // CHECK-NEXT: descriptionAccess to instance variable 'uniqueID' results in a dereference of a null pointer (loaded from variable 'self') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextinitWithID: // CHECK-NEXT: issue_hash6 @@ -782,6 +784,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrepeatedStores // CHECK-NEXT: issue_hash11 Index: test/Analysis/objc-arc.m =================================================================== --- test/Analysis/objc-arc.m +++ test/Analysis/objc-arc.m @@ -366,6 +366,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_working // CHECK-NEXT: issue_hash2 @@ -528,6 +529,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'date' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cf_leak // CHECK-NEXT: issue_hash2 @@ -586,6 +588,7 @@ // CHECK-NEXT: descriptionValue stored to 'x' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar9424882 // CHECK-NEXT: issue_hash1 @@ -644,6 +647,7 @@ // CHECK-NEXT: descriptionValue stored to 'obj1' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash1 @@ -702,6 +706,7 @@ // CHECK-NEXT: descriptionValue stored to 'obj4' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash6 @@ -760,6 +765,7 @@ // CHECK-NEXT: descriptionValue stored to 'obj5' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash7 @@ -818,6 +824,7 @@ // CHECK-NEXT: descriptionValue stored to 'obj6' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash8 @@ -995,6 +1002,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'obj5' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash7 @@ -1123,6 +1131,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'obj6' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash8 @@ -1181,6 +1190,7 @@ // CHECK-NEXT: descriptionValue stored to 'cf1' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash1 @@ -1239,6 +1249,7 @@ // CHECK-NEXT: descriptionValue stored to 'cf2' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash2 @@ -1297,6 +1308,7 @@ // CHECK-NEXT: descriptionValue stored to 'cf3' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash3 @@ -1355,6 +1367,7 @@ // CHECK-NEXT: descriptionValue stored to 'cf4' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash4 @@ -1498,6 +1511,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'date' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_unretainedObject // CHECK-NEXT: issue_hash2 @@ -1796,6 +1810,7 @@ // CHECK-NEXT: descriptionPotential leak of an object // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_arrays // CHECK-NEXT: issue_hash24 @@ -1965,6 +1980,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'o' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar11059275_positive // CHECK-NEXT: issue_hash1 @@ -2079,6 +2095,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar14061675 // CHECK-NEXT: issue_hash4 Index: test/Analysis/plist-macros.cpp =================================================================== --- test/Analysis/plist-macros.cpp +++ test/Analysis/plist-macros.cpp @@ -220,6 +220,7 @@ // CHECK-NEXT: descriptionMemory allocated by malloc() should be deallocated by free(), not 'delete' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator +// CHECK-NEXT: check_nameunix.MismatchedDeallocator // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextnoteOnMacro // CHECK-NEXT: issue_hash6 @@ -314,6 +315,7 @@ // CHECK-NEXT: descriptionPotential leak of memory pointed to by 'x' // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak +// CHECK-NEXT: check_nameunix.Malloc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroIsFirstInFunction // CHECK-NEXT: issue_hash1 @@ -559,6 +561,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroInExpression // CHECK-NEXT: issue_hash4 @@ -804,6 +807,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroInExpressionNoNote // CHECK-NEXT: issue_hash5 @@ -1015,6 +1019,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroWithArgInExpression // CHECK-NEXT: issue_hash4 @@ -1158,6 +1163,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuseMultiNoteMacroWithError // CHECK-NEXT: issue_hash2 @@ -1364,6 +1370,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuseMultiNote // CHECK-NEXT: issue_hash4 @@ -1584,6 +1591,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'a') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextnull_deref // CHECK-NEXT: issue_hash3 Index: test/Analysis/plist-output-alternate.m =================================================================== --- test/Analysis/plist-output-alternate.m +++ test/Analysis/plist-output-alternate.m @@ -158,6 +158,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init // CHECK-NEXT: issue_hash2 @@ -301,6 +302,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign // CHECK-NEXT: issue_hash3 @@ -507,6 +509,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'q') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive // CHECK-NEXT: issue_hash4 @@ -684,6 +687,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond // CHECK-NEXT: issue_hash2 @@ -890,6 +894,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive // CHECK-NEXT: issue_hash3 @@ -1067,6 +1072,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field // CHECK-NEXT: issue_hash3 @@ -1360,6 +1366,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'value' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar8331641 // CHECK-NEXT: issue_hash2 Index: test/Analysis/plist-output.m =================================================================== --- test/Analysis/plist-output.m +++ test/Analysis/plist-output.m @@ -295,6 +295,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init // CHECK-NEXT: issue_hash2 @@ -438,6 +439,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign // CHECK-NEXT: issue_hash3 @@ -644,6 +646,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'q') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive // CHECK-NEXT: issue_hash4 @@ -821,6 +824,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond // CHECK-NEXT: issue_hash2 @@ -1027,6 +1031,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive // CHECK-NEXT: issue_hash3 @@ -1204,6 +1209,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from field 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field // CHECK-NEXT: issue_hash3 @@ -1507,6 +1513,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_assumptions // CHECK-NEXT: issue_hash8 @@ -1776,6 +1783,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cond_assign // CHECK-NEXT: issue_hash4 @@ -1919,6 +1927,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash3 @@ -1977,6 +1986,7 @@ // CHECK-NEXT: descriptionValue stored to 'foo' during its initialization is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -2139,6 +2149,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'foo' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -2447,6 +2458,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar12280665 // CHECK-NEXT: issue_hash4 @@ -2750,6 +2762,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_for // CHECK-NEXT: issue_hash5 @@ -3053,6 +3066,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_while // CHECK-NEXT: issue_hash7 @@ -3429,6 +3443,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_foo_2 // CHECK-NEXT: issue_hash6 @@ -3868,6 +3883,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics // CHECK-NEXT: issue_hash3 @@ -4341,6 +4357,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_2 // CHECK-NEXT: issue_hash6 @@ -4814,6 +4831,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_3 // CHECK-NEXT: issue_hash7 @@ -4860,6 +4878,7 @@ // CHECK-NEXT: descriptionValue stored to 'x' is never read // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead increment +// CHECK-NEXT: check_namedeadcode.DeadStores // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_fast_enumeration // CHECK-NEXT: issue_hash5 @@ -5066,6 +5085,7 @@ // CHECK-NEXT: descriptionThe left expression of the compound assignment is an uninitialized value. The computed value will also be garbage // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeAssigned value is garbage or undefined +// CHECK-NEXT: check_namecore.uninitialized.Assign // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_fast_enumeration // CHECK-NEXT: issue_hash5 @@ -5175,6 +5195,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from ivar 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -5284,6 +5305,7 @@ // CHECK-NEXT: descriptionNull pointer passed as an argument to a 'nonnull' parameter // CHECK-NEXT: categoryAPI // CHECK-NEXT: typeArgument with 'nonnull' attribute passed null +// CHECK-NEXT: check_namecore.NonNullParamChecker // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextRDar13295437 // CHECK-NEXT: issue_hash3 @@ -5524,6 +5546,7 @@ // CHECK-NEXT: descriptionDereference of null pointer // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestFoo // CHECK-NEXT: issue_hash3 Index: test/Analysis/retain-release-path-notes-gc.m =================================================================== --- test/Analysis/retain-release-path-notes-gc.m +++ test/Analysis/retain-release-path-notes-gc.m @@ -207,7 +207,8 @@ // CHECK-NEXT: // CHECK-NEXT: descriptionPotential leak (when using garbage collection) of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) -// CHECK-NEXT: typeLeak of object when using garbage collection +// CHECK-NEXT: typeLeak of object when using garbage collection +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaCFCreate // CHECK-NEXT: issue_hash1 @@ -651,6 +652,7 @@ // CHECK-NEXT: descriptionPotential leak (when using garbage collection) of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of object when using garbage collection +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmakeCollectable // CHECK-NEXT: issue_hash1 @@ -1019,6 +1021,7 @@ // CHECK-NEXT: descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextretainReleaseIgnored // CHECK-NEXT: issue_hash5 @@ -1203,6 +1206,7 @@ // CHECK-NEXT: descriptionPotential leak (when using garbage collection) of an object stored into 'object' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object when using garbage collection +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextgetViolation // CHECK-NEXT: issue_hash1 @@ -1387,6 +1391,7 @@ // CHECK-NEXT: descriptionPotential leak (when using garbage collection) of an object stored into 'object' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object when using garbage collection +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolation // CHECK-NEXT: issue_hash1 Index: test/Analysis/retain-release-path-notes.m =================================================================== --- test/Analysis/retain-release-path-notes.m +++ test/Analysis/retain-release-path-notes.m @@ -399,6 +399,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaAlloc // CHECK-NEXT: issue_hash1 @@ -542,6 +543,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaCFCreate // CHECK-NEXT: issue_hash1 @@ -910,6 +912,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaMethod // CHECK-NEXT: issue_hash1 @@ -1128,6 +1131,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaProperty // CHECK-NEXT: issue_hash1 @@ -1346,6 +1350,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaCFFunction // CHECK-NEXT: issue_hash1 @@ -1564,6 +1569,7 @@ // CHECK-NEXT: descriptionReference-counted object is used after it is released // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeUse-after-release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextexplicitDealloc // CHECK-NEXT: issue_hash3 @@ -1782,6 +1788,7 @@ // CHECK-NEXT: descriptionReference-counted object is used after it is released // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeUse-after-release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextimplicitDealloc // CHECK-NEXT: issue_hash3 @@ -2075,6 +2082,7 @@ // CHECK-NEXT: descriptionObject autoreleased too many times // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextoverAutorelease // CHECK-NEXT: issue_hash4 @@ -2293,6 +2301,7 @@ // CHECK-NEXT: descriptionObject autoreleased too many times // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextautoreleaseUnowned // CHECK-NEXT: issue_hash3 @@ -2586,6 +2595,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'leaked' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmakeCollectableIgnored // CHECK-NEXT: issue_hash1 @@ -2770,6 +2780,7 @@ // CHECK-NEXT: descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFCopyRuleViolation // CHECK-NEXT: issue_hash2 @@ -2954,6 +2965,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'object' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFGetRuleViolation // CHECK-NEXT: issue_hash1 @@ -3138,6 +3150,7 @@ // CHECK-NEXT: descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolation // CHECK-NEXT: issue_hash2 @@ -3322,6 +3335,7 @@ // CHECK-NEXT: descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolationIndexedSubscript // CHECK-NEXT: issue_hash2 @@ -3506,6 +3520,7 @@ // CHECK-NEXT: descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolationKeyedSubscript // CHECK-NEXT: issue_hash2 @@ -3690,6 +3705,7 @@ // CHECK-NEXT: descriptionPotential leak of an object stored into 'result' // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextgetViolation // CHECK-NEXT: issue_hash1 @@ -3908,6 +3924,7 @@ // CHECK-NEXT: descriptionObject with a +0 retain count returned to caller where a +1 (owning) retain count is expected // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyAutorelease // CHECK-NEXT: issue_hash3 @@ -4051,6 +4068,7 @@ // CHECK-NEXT: descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNumericLiteral // CHECK-NEXT: issue_hash2 @@ -4194,6 +4212,7 @@ // CHECK-NEXT: descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBoxedInt // CHECK-NEXT: issue_hash2 @@ -4337,6 +4356,7 @@ // CHECK-NEXT: descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBoxedString // CHECK-NEXT: issue_hash2 @@ -4480,6 +4500,7 @@ // CHECK-NEXT: descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestArray // CHECK-NEXT: issue_hash2 @@ -4623,6 +4644,7 @@ // CHECK-NEXT: descriptionIncorrect decrement of the reference count of an object that is not owned at this point by the caller // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDictionary // CHECK-NEXT: issue_hash2 @@ -5003,6 +5025,7 @@ // CHECK-NEXT: descriptionPotential leak of an object // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -5354,6 +5377,7 @@ // CHECK-NEXT: descriptionPotential leak of an object // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash8 @@ -5647,6 +5671,7 @@ // CHECK-NEXT: descriptionObject autoreleased too many times // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFOverAutorelease // CHECK-NEXT: issue_hash4 @@ -5865,6 +5890,7 @@ // CHECK-NEXT: descriptionObject autoreleased too many times // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFAutoreleaseUnowned // CHECK-NEXT: issue_hash3 @@ -6158,6 +6184,7 @@ // CHECK-NEXT: descriptionObject autoreleased too many times // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times +// CHECK-NEXT: check_nameosx.cocoa.RetainCount // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFAutoreleaseUnownedMixed // CHECK-NEXT: issue_hash4 Index: test/Analysis/unix-fns.c =================================================================== --- test/Analysis/unix-fns.c +++ test/Analysis/unix-fns.c @@ -406,6 +406,7 @@ // CHECK-NEXT: descriptionCall to 'open' requires a third argument when the 'O_CREAT' flag is set // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeImproper use of 'open' +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_open // CHECK-NEXT: issue_hash6 @@ -554,6 +555,7 @@ // CHECK-NEXT: descriptionCall to 'dispatch_once' uses the local variable 'pred' for the predicate value. Using such transient memory for the predicate is potentially dangerous. Perhaps you intended to declare the variable as 'static'? // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typeImproper use of 'dispatch_once' +// CHECK-NEXT: check_nameosx.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_dispatch_once // CHECK-NEXT: issue_hash2 @@ -634,6 +636,7 @@ // CHECK-NEXT: descriptionCall to 'pthread_once' uses the local variable 'pred' for the "control" value. Using such transient memory for the control value is potentially dangerous. Perhaps you intended to declare the variable as 'static'? // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeImproper use of 'pthread_once' +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_pthread_once // CHECK-NEXT: issue_hash2 @@ -714,6 +717,7 @@ // CHECK-NEXT: descriptionCall to 'malloc' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextpr2899 // CHECK-NEXT: issue_hash1 @@ -794,6 +798,7 @@ // CHECK-NEXT: descriptionCall to 'calloc' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calloc // CHECK-NEXT: issue_hash1 @@ -874,6 +879,7 @@ // CHECK-NEXT: descriptionCall to 'calloc' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calloc2 // CHECK-NEXT: issue_hash1 @@ -954,6 +960,7 @@ // CHECK-NEXT: descriptionCall to 'realloc' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_realloc // CHECK-NEXT: issue_hash1 @@ -1034,6 +1041,7 @@ // CHECK-NEXT: descriptionCall to 'reallocf' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_reallocf // CHECK-NEXT: issue_hash1 @@ -1114,6 +1122,7 @@ // CHECK-NEXT: descriptionCall to 'alloca' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_alloca // CHECK-NEXT: issue_hash1 @@ -1194,6 +1203,7 @@ // CHECK-NEXT: descriptionCall to 'alloca' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_builtin_alloca // CHECK-NEXT: issue_hash1 @@ -1274,6 +1284,7 @@ // CHECK-NEXT: descriptionCall to 'valloc' has an allocation size of 0 bytes // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) +// CHECK-NEXT: check_nameunix.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_valloc // CHECK-NEXT: issue_hash1 @@ -1354,6 +1365,7 @@ // CHECK-NEXT: descriptionCall to 'dispatch_once' uses the local variable 'pred' for the predicate value. Using such transient memory for the predicate is potentially dangerous. Perhaps you intended to declare the variable as 'static'? // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typeImproper use of 'dispatch_once' +// CHECK-NEXT: check_nameosx.API // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_dispatch_once_in_macro // CHECK-NEXT: issue_hash2 @@ -1763,6 +1775,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line192 @@ -2149,6 +2162,7 @@ // CHECK-NEXT: descriptionDereference of null pointer (loaded from variable 'p') // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer +// CHECK-NEXT: check_namecore.NullDereference // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line202