Index: include/clang/StaticAnalyzer/Core/BugId.h =================================================================== --- /dev/null +++ include/clang/StaticAnalyzer/Core/BugId.h @@ -0,0 +1,28 @@ +//===---------- BugId.h - Unique bugid utility ------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#ifndef LLVM_CLANG_STATICANALYZER_CORE_BUGID_H +#define LLVM_CLANG_STATICANALYZER_CORE_BUGID_H + +#include "llvm/ADT/SmallString.h" + +namespace clang { +class Decl; +class SourceManager; +class FullSourceLoc; + +std::string GetIssueString(const SourceManager &SM, FullSourceLoc &L, + llvm::StringRef CheckerName, + llvm::StringRef HashField, const Decl *D); + +llvm::SmallString<32> GetIssueHash(const SourceManager &SM, FullSourceLoc &L, + llvm::StringRef CheckerName, + llvm::StringRef HashField, const Decl *D); +} + +#endif Index: lib/StaticAnalyzer/Checkers/Checkers.td =================================================================== --- lib/StaticAnalyzer/Checkers/Checkers.td +++ lib/StaticAnalyzer/Checkers/Checkers.td @@ -591,4 +591,8 @@ HelpText<"View Exploded Graphs using GraphViz">, DescFile<"DebugCheckers.cpp">; +def BugHashDumper : Checker<"DumpBugHash">, + HelpText<"Dump the bug hash for all statements.">, + DescFile<"DebugCheckers.cpp">; + } // end "debug" Index: lib/StaticAnalyzer/Checkers/DebugCheckers.cpp =================================================================== --- lib/StaticAnalyzer/Checkers/DebugCheckers.cpp +++ lib/StaticAnalyzer/Checkers/DebugCheckers.cpp @@ -15,8 +15,11 @@ #include "clang/Analysis/Analyses/Dominators.h" #include "clang/Analysis/Analyses/LiveVariables.h" #include "clang/Analysis/CallGraph.h" +#include "clang/StaticAnalyzer/Core/BugId.h" #include "clang/StaticAnalyzer/Core/Checker.h" +#include "clang/StaticAnalyzer/Core/BugReporter/BugType.h" #include "clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h" +#include "clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h" #include "clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h" #include "llvm/Support/Process.h" @@ -209,3 +212,35 @@ void ento::registerExplodedGraphViewer(CheckerManager &mgr) { mgr.registerChecker(); } + +//===----------------------------------------------------------------------===// +// DumpBugHash +//===----------------------------------------------------------------------===// + +namespace { +class BugHashDumper : public Checker> { +public: + mutable std::unique_ptr BT; + + void checkPostStmt(const Stmt *S, CheckerContext &C) const { + if (!BT) + BT.reset(new BugType(this, "Dump hash components", "debug")); + + ExplodedNode *N = C.generateNonFatalErrorNode(); + if (!N) + return; + + const SourceManager &SM = C.getSourceManager(); + FullSourceLoc FL(S->getLocStart(), SM); + std::string HashContent = + GetIssueString(SM, FL, getCheckName().getName(), BT->getCategory(), + C.getLocationContext()->getDecl()); + + C.emitReport(llvm::make_unique(*BT, HashContent, N)); + } +}; +} + +void ento::registerBugHashDumper(CheckerManager &mgr) { + mgr.registerChecker(); +} Index: lib/StaticAnalyzer/Core/BugId.cpp =================================================================== --- /dev/null +++ lib/StaticAnalyzer/Core/BugId.cpp @@ -0,0 +1,214 @@ +//===---------- BugId.cpp - Unique bugid utility ----------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#include "clang/StaticAnalyzer/Core/BugId.h" +#include "clang/AST/Decl.h" +#include "clang/AST/DeclCXX.h" +#include "clang/Lex/Lexer.h" +#include "clang/Basic/Specifiers.h" +#include "clang/Basic/SourceManager.h" +#include "llvm/Support/LineIterator.h" +#include "llvm/Support/Path.h" +#include "llvm/Support/MD5.h" +#include "llvm/ADT/Twine.h" +#include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/StringRef.h" +#include "clang/AST/ASTContext.h" + +#include +#include +#include + +using namespace clang; + +static std::string GetSignature(const FunctionDecl *Target) { + if (!Target) + return ""; + + std::string Signature; + const auto *CDecl = dyn_cast(Target); + const auto *DDecl = dyn_cast(Target); + const auto *ConversionDecl = dyn_cast(Target); + + switch (Target->getStorageClass()) { + case SC_Extern: + Signature.append("extern "); + break; + case SC_Static: + Signature.append("static "); + break; + case SC_PrivateExtern: + Signature.append("__private_extern__ "); + break; + default: + break; + } + + if (Target->isInlineSpecified()) + Signature.append("inline "); + if (Target->isVirtualAsWritten()) + Signature.append("virtual "); + if (Target->isModulePrivate()) + Signature.append("__module_private__ "); + if (Target->isConstexpr() && !Target->isExplicitlyDefaulted()) + Signature.append("constexpr "); + if ((CDecl && CDecl->isExplicitSpecified()) || + (ConversionDecl && ConversionDecl->isExplicit())) + Signature.append("explicit "); + + if (!CDecl && !ConversionDecl && !DDecl) + Signature.append(Target->getReturnType().getAsString()).append(" "); + Signature.append(Target->getQualifiedNameAsString()).append("("); + + for (int i = 0, paramsCount = Target->getNumParams(); i < paramsCount; ++i) { + if (i) + Signature.append(", "); + Signature.append(Target->getParamDecl(i)->getType().getAsString()); + } + + if (Target->isVariadic()) + Signature.append(", ..."); + Signature.append(")"); + + const auto *TargetT = + llvm::dyn_cast_or_null(Target->getType().getTypePtr()); + + if (!TargetT) + return Signature; + + if (TargetT->isConst()) + Signature.append(" const"); + if (TargetT->isVolatile()) + Signature.append(" volatile"); + if (TargetT->isRestrict()) + Signature.append(" restrict"); + + if (const auto *TargetPT = + dyn_cast_or_null(Target->getType().getTypePtr())) { + switch (TargetPT->getRefQualifier()) { + case RQ_LValue: + Signature.append(" &"); + break; + case RQ_RValue: + Signature.append(" &&"); + break; + default: + break; + } + } + + return Signature; +} + +static std::string GetEnclosingDeclContextSignature(const Decl *D) { + if (!D) + return ""; + + if (const auto *ND = dyn_cast(D)) { + std::string DeclName; + + switch (ND->getKind()) { + case Decl::Namespace: + case Decl::Record: + case Decl::CXXRecord: + case Decl::Enum: + DeclName = ND->getQualifiedNameAsString(); + break; + case Decl::CXXConstructor: + case Decl::CXXDestructor: + case Decl::CXXConversion: + case Decl::CXXMethod: + case Decl::ObjCMethod: + case Decl::Function: + DeclName = GetSignature(dyn_cast_or_null(ND)); + break; + default: + break; + } + + return DeclName; + } + + return ""; +} + +static StringRef GetNthLineOfFile(llvm::MemoryBuffer *Buffer, int Line) { + if (!Buffer) + return ""; + + llvm::line_iterator LI(*Buffer, false); + for (; !LI.is_at_eof() && LI.line_number() != Line; ++LI) + ; + + return *LI; +} + +static std::string NormalizeLine(const SourceManager &SM, FullSourceLoc &L, + const Decl *D) { + static StringRef Whitespaces = " \t\n"; + + const LangOptions &Opts = D->getASTContext().getLangOpts(); + StringRef Str = GetNthLineOfFile(SM.getBuffer(L.getFileID(), L), + L.getExpansionLineNumber()); + unsigned col = Str.find_first_not_of(Whitespaces); + + SourceLocation StartOfLine = + SM.translateLineCol(SM.getFileID(L), L.getExpansionLineNumber(), col); + llvm::MemoryBuffer *Buffer = + SM.getBuffer(SM.getFileID(StartOfLine), StartOfLine); + if (!Buffer) + return {}; + + const char *BufferPos = SM.getCharacterData(StartOfLine); + + Token Token; + Lexer Lexer(SM.getLocForStartOfFile(SM.getFileID(StartOfLine)), Opts, + Buffer->getBufferStart(), BufferPos, Buffer->getBufferEnd()); + + size_t NextStart = 0; + std::ostringstream LineBuff; + while (!Lexer.LexFromRawLexer(Token) && NextStart < 2) { + if (Token.isAtStartOfLine() && NextStart++ > 0) + continue; + LineBuff << std::string(SM.getCharacterData(Token.getLocation()), + Token.getLength()); + } + + return LineBuff.str(); +} + +static llvm::SmallString<32> GetHashOfContent(StringRef Content) { + llvm::MD5 Hash; + llvm::MD5::MD5Result MD5Res; + llvm::SmallString<32> Res; + + Hash.update(Content); + Hash.final(MD5Res); + llvm::MD5::stringifyResult(MD5Res, Res); + + return Res; +} + +std::string clang::GetIssueString(const SourceManager &SM, FullSourceLoc &L, + StringRef CheckerName, StringRef HashField, + const Decl *D) { + static llvm::StringRef Delimiter = "$"; + + return (llvm::Twine(CheckerName) + Delimiter + + GetEnclosingDeclContextSignature(D) + Delimiter + + std::to_string(L.getExpansionColumnNumber()) + Delimiter + + NormalizeLine(SM, L, D) + Delimiter + HashField.str()) + .str(); +} + +llvm::SmallString<32> clang::GetIssueHash(const SourceManager &SM, + FullSourceLoc &L, + StringRef CheckerName, + StringRef HashField, const Decl *D) { + return GetHashOfContent(GetIssueString(SM, L, CheckerName, HashField, D)); +} Index: lib/StaticAnalyzer/Core/CMakeLists.txt =================================================================== --- lib/StaticAnalyzer/Core/CMakeLists.txt +++ lib/StaticAnalyzer/Core/CMakeLists.txt @@ -6,6 +6,7 @@ AnalyzerOptions.cpp BasicValueFactory.cpp BlockCounter.cpp + BugId.cpp BugReporter.cpp BugReporterVisitors.cpp CallEvent.cpp Index: lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp =================================================================== --- lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp +++ lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp @@ -11,6 +11,7 @@ // //===----------------------------------------------------------------------===// +#include "clang/StaticAnalyzer/Core/BugId.h" #include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h" #include "clang/AST/ASTContext.h" #include "clang/AST/Decl.h" @@ -236,6 +237,11 @@ if (!BugType.empty()) os << "\n\n"; + PathDiagnosticLocation UPDLoc = D.getUniqueingLoc(); + FullSourceLoc UL(SMgr.getExpansionLoc(UPDLoc.asLocation()), SMgr); + FullSourceLoc L(SMgr.getExpansionLoc(D.getLocation().asLocation()), SMgr); + const Decl *DeclWithIssue = D.getDeclWithIssue(); + StringRef BugCategory = D.getCategory(); if (!BugCategory.empty()) os << "\n\n"; @@ -246,6 +252,11 @@ os << "\n\n"; + os << "\n\n"; + os << "\n\n"; Index: lib/StaticAnalyzer/Core/PlistDiagnostics.cpp =================================================================== --- lib/StaticAnalyzer/Core/PlistDiagnostics.cpp +++ lib/StaticAnalyzer/Core/PlistDiagnostics.cpp @@ -11,12 +11,13 @@ // //===----------------------------------------------------------------------===// -#include "clang/StaticAnalyzer/Core/AnalyzerOptions.h" +#include "clang/StaticAnalyzer/Core/BugId.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/PlistSupport.h" #include "clang/Basic/SourceManager.h" #include "clang/Basic/Version.h" #include "clang/Lex/Preprocessor.h" +#include "clang/StaticAnalyzer/Core/AnalyzerOptions.h" #include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h" #include "clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h" #include "llvm/ADT/DenseMap.h" @@ -390,6 +391,14 @@ o << " check_name"; EmitString(o, D->getCheckName()) << '\n'; + o << " issue_hash_2"; + PathDiagnosticLocation UPDLoc = D->getUniqueingLoc(); + FullSourceLoc UL(SM->getExpansionLoc(UPDLoc.asLocation()), *SM); + FullSourceLoc L(SM->getExpansionLoc(D->getLocation().asLocation()), *SM); + const Decl *DeclWithIssue = D->getDeclWithIssue(); + EmitString(o, GetIssueHash(*SM, UPDLoc.isValid() ? UL : L, D->getCheckName(), + D->getBugType(), DeclWithIssue)) << '\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 @@ -289,7 +289,8 @@ // 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: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: issue_hash_22009ca1da75217064b6052ba7465dff9 // 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 @@ -260,6 +260,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeDouble free // CHECK-NEXT: check_namecplusplus.NewDelete +// CHECK-NEXT: issue_hash_2bd8e324d09c70b9e2be6f824a4942e5a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash8 @@ -476,6 +477,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeDouble free // CHECK-NEXT: check_namecplusplus.NewDelete +// CHECK-NEXT: issue_hash_28bf1a5b9fdae9d86780aa6c4cdce2605 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash3 Index: test/Analysis/bug_hash_test.cpp =================================================================== --- /dev/null +++ test/Analysis/bug_hash_test.cpp @@ -0,0 +1,1329 @@ +// RUN: %clang_cc1 -std=c++11 -analyze -analyzer-checker=core,debug.DumpBugHash -analyzer-output=plist %s -o %t.plist +// RUN: FileCheck --input-file=%t.plist %s + +int function(int p) { + return 5; +} + +namespace { +int variadicParam(int p, ...) { + return 5; +} +} + +constexpr int f() { return 5; } + +namespace AA { + class X { + int priv; + X() : priv(5) { priv = 0; } + + static int static_method() { + return 5; + } + + int method() && { + class Y { + inline int method() const & { + return 5; + } + }; + + return 5; + } + + int OutOfLine(); + + X& operator=(int a) { + return *this; + } + + operator int() { + return 0; + } + + explicit operator float() { + return 0; + } + }; +} + +int AA::X::OutOfLine() { + return 5; +} + +void testLambda() { + [] () { + return; + }(); +} + +// CHECK: diagnostics +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int function(int)$10$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int function(int)$10$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int function(int)$10$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2e7be204e83f8e5ad3c870ec011d5131d +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextfunction +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line5 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int (anonymous namespace)::variadicParam(int, ...)$10$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2bc5dc0507ee90f1d14259057d25fb2b9 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextvariadicParam +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line10 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$constexpr int f()$28$namespaceAA{$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$constexpr int f()$28$namespaceAA{$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$constexpr int f()$28$namespaceAA{$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2298b8803e5597216f1e8cffbfb1be379 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextf +// CHECK-NEXT: issue_hash0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line14 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$16$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2d23266517ac17d5ec5e2fbbdb1922af1 +// CHECK-NEXT: issue_hash0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_27bfcc45512a6a3f61dda6e3ecebc7384 +// CHECK-NEXT: issue_hash0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$21$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_295dbfbcdd1dd6401d262994c45d088be +// CHECK-NEXT: issue_hash0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col26 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col16 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col21 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::X()$28$X():priv(5){priv=0;}$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2064a01551caa8eca3202f1fd55b9c692 +// CHECK-NEXT: issue_hash0 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line19 +// CHECK-NEXT: col28 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$static int AA::X::static_method()$14$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$static int AA::X::static_method()$14$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$static int AA::X::static_method()$14$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_217325c3d9847e5198f3d74b0c551adbb +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextstatic_method +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::method() &&$14$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::method() &&$14$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int AA::X::method() &&$14$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2c8ac8f24467234bea1f34adf5ad5007b +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextmethod +// CHECK-NEXT: issue_hash7 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line32 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col18 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$class AA::X & AA::X::operator=(int)$14$return*this;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$class AA::X & AA::X::operator=(int)$14$return*this;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$class AA::X & AA::X::operator=(int)$14$return*this;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2b47cf7973c9b459d9c99c483e722db8e +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextoperator= +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line38 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$AA::X::operator int()$14$return0;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$AA::X::operator int()$14$return0;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$AA::X::operator int()$14$return0;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_20cbb0e1e5b03ba5b4f7f8f17504de671 +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line42 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col12 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$explicit AA::X::operator float()$14$return0;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$explicit AA::X::operator float()$14$return0;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$explicit AA::X::operator float()$14$return0;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2af458b0d4209c78f56dbe6416331bc4a +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line46 +// CHECK-NEXT: col14 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col8 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$int AA::X::OutOfLine()$10$return5;$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_29dd7b17a6f62ed8c95b37a38cf71f3a9 +// CHECK-NEXT: issue_context_kindC++ method +// CHECK-NEXT: issue_contextOutOfLine +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line52 +// CHECK-NEXT: col10 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_26ad4400e40885a78a0f57f585421a515 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestLambda +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testLambda()$3$[](){$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_26ad4400e40885a78a0f57f585421a515 +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestLambda +// CHECK-NEXT: issue_hash1 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line56 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$4$}();$debug +// CHECK-NEXT: message +// CHECK-NEXT: debug.DumpBugHash$void testLambda()$4$}();$debug +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptiondebug.DumpBugHash$void testLambda()$4$}();$debug +// CHECK-NEXT: categorydebug +// CHECK-NEXT: typeDump hash components +// CHECK-NEXT: check_namedebug.DumpBugHash +// CHECK-NEXT: issue_hash_2378e6de75fb41b05bcef3950ad5ffa5e +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contexttestLambda +// CHECK-NEXT: issue_hash3 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line58 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/conditional-path-notes.c =================================================================== --- test/Analysis/conditional-path-notes.c +++ test/Analysis/conditional-path-notes.c @@ -314,6 +314,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_28ea3f4e6a3100c73f078fac15acb0a9c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCondOp // CHECK-NEXT: issue_hash5 @@ -458,6 +459,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_22c219a33e961fc1be7d54b700867259e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCondProblem // CHECK-NEXT: issue_hash5 @@ -602,6 +604,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_28d43b511137326eab7d1242950e72984 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLHSProblem // CHECK-NEXT: issue_hash1 @@ -746,6 +749,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2b8e93b7355a6779a960f9a942fafac15 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestRHSProblem // CHECK-NEXT: issue_hash1 @@ -958,6 +962,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a944281d096940ca43ec995649b48b5f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBinaryCondOp // CHECK-NEXT: issue_hash4 @@ -1102,6 +1107,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_24db164bbf5cea42d75c5e838be1eef6f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBinaryLHSProblem // CHECK-NEXT: issue_hash5 @@ -1280,6 +1286,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2778d56ad485369222613ac2c03b97700 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDiagnosableBranch // CHECK-NEXT: issue_hash4 @@ -1463,6 +1470,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2ebd0bb32bbdcaa2a806ff1984974c07a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonDiagnosableBranchLogical // CHECK-NEXT: issue_hash4 @@ -1578,6 +1586,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2f56671e5f67c73abef619b56f7c29fa4 // 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 @@ -597,6 +597,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_27c0b35987817cf3d44b88c5349bcd4f2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoop // CHECK-NEXT: issue_hash6 @@ -823,6 +824,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2f53792d63dffe6176babc00ee455a3e0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextget // CHECK-NEXT: issue_hash2 @@ -1098,6 +1100,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_27bc3cb8a56be029296ec61f7ee83fc9e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueCollection // CHECK-NEXT: issue_hash5 @@ -1242,6 +1245,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2dc7b457a64bd56c30467c1af44049756 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueCollection // CHECK-NEXT: issue_hash11 @@ -1517,6 +1521,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2f4697ded3a92318349a3969238e05387 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestLoopOpaqueIterator // CHECK-NEXT: issue_hash5 @@ -1661,6 +1666,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_26855b29ad2407a5af43c57f062bc4602 // 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 @@ -306,6 +306,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_25cafa075eb4d5b0bf1f228608a3ec87e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash11 @@ -644,6 +645,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a213f858dacf7993492e6b32080aaa64 // 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 @@ -70,7 +70,8 @@ j--; } -// CHECK: diagnostics +// CHECK: +// CHECK-NEXT: diagnostics // CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: path @@ -249,6 +250,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_281ef0773d42c0309a03a9a11048f497e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcause_div_by_zero_in_header2 // CHECK-NEXT: issue_hash2 @@ -513,6 +515,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2a4f425d2b2715e682b08a754fc88d2c8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcause_div_by_zero_in_header3 // CHECK-NEXT: issue_hash2 @@ -700,6 +703,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_235f2ebe7ff6b3b34233a5465a6eaf661 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcause_div_by_zero_in_header4 // CHECK-NEXT: issue_hash2 @@ -941,6 +945,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator // CHECK-NEXT: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: issue_hash_2f21ac032efaa3d1459a5ed31f0ad44f0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmainPlusHeader // CHECK-NEXT: issue_hash2 @@ -1274,6 +1279,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2dceba279187ce4f6514f4a4c43a51063 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextauxInMain // CHECK-NEXT: issue_hash3 @@ -1495,6 +1501,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2d0d513aa4710781c2b56c44226354403 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcauseDivByZeroInMain // CHECK-NEXT: issue_hash2 @@ -1750,6 +1757,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2577ddcf4482f18dec120e21890ed234a // 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 @@ -147,6 +147,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeGarbage return value // CHECK-NEXT: check_namecore.uninitialized.UndefReturn +// CHECK-NEXT: issue_hash_21ef750c5562c09a467ea54ea4b4de771 // 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 @@ -436,6 +436,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeResult of operation is garbage or undefined // CHECK-NEXT: check_namecore.UndefinedBinaryOperatorResult +// CHECK-NEXT: issue_hash_2ae5e3bd03d6d97614947942dae18e1da // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse // CHECK-NEXT: issue_hash7 @@ -754,6 +755,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeResult of operation is garbage or undefined // CHECK-NEXT: check_namecore.UndefinedBinaryOperatorResult +// CHECK-NEXT: issue_hash_296cf3258da3df14d13cd5c2236c9cb27 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestPassingParentRegionArray // CHECK-NEXT: issue_hash4 @@ -1169,6 +1171,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2299055864402de225b0ab4f2ecd8e76c // 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 @@ -544,6 +544,7 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typenull passed to CF memory management function // CHECK-NEXT: check_nameosx.coreFoundation.CFRetainRelease +// CHECK-NEXT: issue_hash_2b92100a65d1e268c68288bfa692ced09 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash5 @@ -925,6 +926,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeUninitialized argument value // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_29b9ca03ae2866a830ef6f94123c0960a // 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 @@ -726,6 +726,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2dc9c2a657ca759f9744cde2e093cfd59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init // CHECK-NEXT: issue_hash2 @@ -904,6 +905,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_28f95d9681490a4e52c167969d0957b39 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign // CHECK-NEXT: issue_hash3 @@ -1145,6 +1147,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_294c43fbcad6aaff4ee7433f2d2db0bbe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive // CHECK-NEXT: issue_hash4 @@ -1323,6 +1326,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2659f01507ffd7efd3ca3eab7179fd7d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond // CHECK-NEXT: issue_hash2 @@ -1564,6 +1568,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2c90d51e62139e614b57aff7021240a82 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive // CHECK-NEXT: issue_hash3 @@ -1742,6 +1747,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2245408d2bc416e324064d990e6dd82a8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field // CHECK-NEXT: issue_hash3 @@ -2080,6 +2086,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2b12acffa40177b55b695aa2292533410 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_assumptions // CHECK-NEXT: issue_hash8 @@ -2350,6 +2357,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2c0a32b8291b0fc7230f847f05f415625 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cond_assign // CHECK-NEXT: issue_hash4 @@ -2610,6 +2618,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_229a10ca4af622b6146ca082e49d919d6 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar8331641 // CHECK-NEXT: issue_hash2 @@ -2788,6 +2797,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2ed7251f5b34b8380abd60cddfd3db46b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration // CHECK-NEXT: issue_hash3 @@ -2835,6 +2845,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead increment // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_2dd09640bb87b201c2adcf5ef37bfcfaa // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration_2 // CHECK-NEXT: issue_hash5 @@ -3042,6 +3053,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeAssigned value is garbage or undefined // CHECK-NEXT: check_namecore.uninitialized.Assign +// CHECK-NEXT: issue_hash_2025372576cd3ba6716044f93a51c978c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_fast_enumeration_2 // CHECK-NEXT: issue_hash5 @@ -3477,6 +3489,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_208f9a01186cb2f1b78b08ec20260f1c1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar12280665 // CHECK-NEXT: issue_hash4 @@ -3781,6 +3794,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_293a53e4c8f02d191b07477940ddcf89c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_for // CHECK-NEXT: issue_hash6 @@ -4051,6 +4065,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2f2d2dbf579b0b21a6b68726df6a041fc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_while // CHECK-NEXT: issue_hash7 @@ -4554,6 +4569,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_295c7d39fb9d0d8c172b894e02855a07c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_foo_2 // CHECK-NEXT: issue_hash11 @@ -5052,6 +5068,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_24cbbc713c8267513fef8a33f1327d7ca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics // CHECK-NEXT: issue_hash3 @@ -5618,6 +5635,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a5aa7cf7ce6ba6683bebfff63df926fd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_2 // CHECK-NEXT: issue_hash11 @@ -6184,6 +6202,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2940ba28399417701285cc8f80b1b8c2d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_3 // CHECK-NEXT: issue_hash10 @@ -6629,6 +6648,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_289eb0611013a66315f63bf4de8130c3d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_do_while // CHECK-NEXT: issue_hash12 @@ -6875,6 +6895,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2483f7a1c29cc32152ca2ea651443e16f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_and // CHECK-NEXT: issue_hash3 @@ -7121,6 +7142,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2852b510b1e204194a9fe3045cabc952c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_or // CHECK-NEXT: issue_hash3 @@ -7401,6 +7423,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a5081bea3b0e9f4f8132ecdb2c17991b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_logical_or_call // CHECK-NEXT: issue_hash4 @@ -7681,6 +7704,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_216c21155317ccfddb4f482db43b6c635 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_nested_logicals // CHECK-NEXT: issue_hash4 @@ -8097,6 +8121,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_216c21155317ccfddb4f482db43b6c635 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_nested_logicals // CHECK-NEXT: issue_hash8 @@ -8581,6 +8606,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_25fec1fd2724e271bb73fa4dd4be2a7f5 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_deeply_nested_logicals // CHECK-NEXT: issue_hash6 @@ -8992,6 +9018,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2c4ebf7f3e8a792521541ffae22ae2378 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ternary // CHECK-NEXT: issue_hash5 @@ -9267,6 +9294,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2137a2333a17b5eecff7ff7a4b56d38d9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestUseless // CHECK-NEXT: issue_hash8 @@ -9474,6 +9502,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2d1a1b27348a9c4d0abaaea4a4df9b649 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestFoo // CHECK-NEXT: issue_hash3 @@ -9647,6 +9676,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_21d7470f8b42e1cff6ab697162911b488 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest1_IPA_X // CHECK-NEXT: issue_hash2 @@ -10043,6 +10073,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_23fda62f72d88e4bc250c415cbc45a9e2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_IPA_Y // CHECK-NEXT: issue_hash5 @@ -10264,6 +10295,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2d0d513aa4710781c2b56c44226354403 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcauseDivByZeroInMain // CHECK-NEXT: issue_hash2 @@ -10408,6 +10440,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_25d3f4c433004c7a6d4a06aa30cc3ea85 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -10518,6 +10551,7 @@ // CHECK-NEXT: categoryAPI // CHECK-NEXT: typeArgument with 'nonnull' attribute passed null // CHECK-NEXT: check_namecore.NonNullParamChecker +// CHECK-NEXT: issue_hash_2c0b359a043c633f1b8d1581f68743361 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextRDar13295437 // CHECK-NEXT: issue_hash3 @@ -10730,6 +10764,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2573a1a599cc8abe987f5227676d04abc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCast // CHECK-NEXT: issue_hash5 @@ -10908,6 +10943,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_24d72b98a21481b0031190c9aa52fb2c3 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash3 @@ -10967,6 +11003,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_298880471921c087dfff8d53c1b7a938c // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -11096,6 +11133,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_29d2168b570487d61dec19bfc4df40eb4 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -11274,6 +11312,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2bfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash11 @@ -11719,6 +11758,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a76c8ba29cdedecd0dfa5e24711cd236 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash20 @@ -12130,6 +12170,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2bfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash26 @@ -12604,6 +12645,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2bfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash34 @@ -13859,6 +13901,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2bfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash62 @@ -15177,6 +15220,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2bfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash67 @@ -16592,6 +16636,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2bfb65e90e76fe7a219616d1d0b36f958 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash74 @@ -18104,6 +18149,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_26c3e2dd10c375325a3089b996dd460c3 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextvariousLoops // CHECK-NEXT: issue_hash83 @@ -18388,6 +18434,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_251180616cd69dc1776be708299ec90fb // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocDiagnostics // CHECK-NEXT: issue_hash1 @@ -18628,6 +18675,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator // CHECK-NEXT: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: issue_hash_2d9dbbf68db41ab74e2158f4b131abe34 // CHECK-NEXT: issue_hash0 // CHECK-NEXT: location // CHECK-NEXT: @@ -19341,6 +19389,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_25616a7601faa1a8c2ac56fa1b595b172 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextlongLines // CHECK-NEXT: issue_hash1 @@ -19485,6 +19534,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2dff4970e681578e07d0512d3258aeddd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestMacroInFunctionDecl // CHECK-NEXT: issue_hash2 @@ -19668,6 +19718,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2de83c7c8cc706cf47429f220bfa49458 // 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 @@ -290,6 +290,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_28bca94f2f862468bb877fb70e66a3304 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfoo // CHECK-NEXT: issue_hash7 @@ -511,6 +512,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_262ddaf4e66ff527b230b474b98791ced // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexthas_bug // CHECK-NEXT: issue_hash1 @@ -863,6 +865,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_21ee3fb0b2fbd9c66e0cc34ca1181ece3 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttriggers_bug // CHECK-NEXT: issue_hash1 @@ -1084,6 +1087,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a2e7504f29818834127c44ba841f4da8 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line60 @@ -1457,6 +1461,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2931be9c3a45b61c0a9c99b4772bd6fca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_ret // CHECK-NEXT: issue_hash5 @@ -1707,6 +1712,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2524a8647c40f017409d858ff70900c1a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_block_blockvar // CHECK-NEXT: issue_hash5 @@ -1957,6 +1963,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_20efdf891fbddf2932f9d434968b94164 // 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 @@ -292,6 +292,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2cfbb4a6514c3418447d08d3a0ac25bda // 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 @@ -319,6 +319,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_25c273b7f0421359833fde3f06e8a5c07 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse // CHECK-NEXT: issue_hash1 @@ -777,6 +778,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_21d1fa98a8e9fbfa90777dac9fc2795a8 // 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 @@ -373,6 +373,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_2f4a4cee851880ebbe93d3b657920ebe9 // 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 @@ -348,6 +348,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_252499a849b132453be19ec9167d8c021 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestZero // CHECK-NEXT: issue_hash4 @@ -526,6 +527,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2cb893891b6a08ee4b7dc3d0c11df856e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCheck // CHECK-NEXT: issue_hash6 @@ -767,6 +769,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2ec20b5e53a72c82d442b3ca04c81e138 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestInitCheck // CHECK-NEXT: issue_hash8 @@ -1008,6 +1011,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_21ae8e7c84d15f307abc1df9f5612078b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestStoreCheck // CHECK-NEXT: issue_hash8 @@ -1321,6 +1325,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2d03346854b8f45b55cbd5efe29bf2c8e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZero // CHECK-NEXT: issue_hash1 @@ -1634,6 +1639,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_25a72f98932a4061a833287a12b28ba8b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZero2 // CHECK-NEXT: issue_hash1 @@ -2010,6 +2016,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_26d3745ba4b32e1858de16c61fecf8ed4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestInitZero // CHECK-NEXT: issue_hash5 @@ -2386,6 +2393,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_22d25b170621486480ca76aaba4c7a0c0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestStoreZero // CHECK-NEXT: issue_hash5 @@ -2805,6 +2813,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2567151df0ae29b0f0e1a412114d544dc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextusePointer // CHECK-NEXT: issue_hash1 @@ -3055,6 +3064,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_27849ab11af99aee1e3603a24ae95cdfd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestSetFieldToNull // CHECK-NEXT: issue_hash3 @@ -3165,6 +3175,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_23ccb5e7e2cc82aba5c28a1cc873c83a1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -3343,6 +3354,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_219292468c6c6f83fbbdb2ff072bb2ae8 // 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 @@ -878,6 +878,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_26106708cd84a75ba96a4bf58d1996b48 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextuse // CHECK-NEXT: issue_hash1 @@ -1167,6 +1168,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2efde323086a985fe1e8ccc6cd0123c12 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextmethod // CHECK-NEXT: issue_hash1 @@ -1417,6 +1419,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_28162ef7a27137328a4a7a131e8d52cbe // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -1665,6 +1668,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2675157873c1414a885eb1f429b26f389 // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -1947,6 +1951,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2aff5e83726a1ce1144580e4c80bde47c // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -2263,6 +2268,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_29484c73e190dfe4b8c6c5bdfad9700c1 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextoperator= // CHECK-NEXT: issue_hash1 @@ -2615,6 +2621,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a0f0ac76cf282b61236bfac7eb2eca62 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contextoperator= // CHECK-NEXT: issue_hash1 @@ -2903,6 +2910,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_274b213f52cad2a4cbfcc8c5766bdd974 // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -3151,6 +3159,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_20d5730cf85cea686ed80d788ab666603 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash1 @@ -3498,6 +3507,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2992e0f2917d29d0977d09ee64b3d10ef // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestRef // CHECK-NEXT: issue_hash1 @@ -3608,6 +3618,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeReturning null reference // CHECK-NEXT: check_namecore.uninitialized.UndefReturn +// CHECK-NEXT: issue_hash_2ece17cf25bc055cbc118d903744a00cf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreturnNullReference // CHECK-NEXT: issue_hash3 @@ -3974,6 +3985,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_232677550226a34f422a4165a34f6a124 // CHECK-NEXT: issue_hash1 // CHECK-NEXT: location // CHECK-NEXT: @@ -4179,6 +4191,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2b5460cc5ca67af5b9f4943d7117f9bcf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNonPrintableAssignment // CHECK-NEXT: issue_hash3 @@ -4289,6 +4302,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2749bda64658e48896477213e90176f5e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -4467,6 +4481,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_22f9098b97145118cf80f1c9f2b9f8a90 // CHECK-NEXT: issue_context_kindC++ method // CHECK-NEXT: issue_contexttestGetDerefExprOnMemberExprWithADot // CHECK-NEXT: issue_hash4 @@ -4577,6 +4592,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of undefined pointer value // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_241b38aba8763180af245befa02f63d61 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestGetDerefExprOnMemberExprWithADot // CHECK-NEXT: issue_hash2 @@ -4784,6 +4800,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_28b577b362ffa5a7290d00d03635c1fca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDeclRefExprToReferenceInGetDerefExpr // CHECK-NEXT: issue_hash8 @@ -5005,6 +5022,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2f7fcdbc77cfb95588c0e5b606288013d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextgenerateNoteOnDefaultArgument // CHECK-NEXT: issue_hash1 @@ -5240,6 +5258,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2ff61a6b893cd2d64c7ccaa2a9805311d // 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 @@ -576,6 +576,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2ad3081ebf0d1e26cc4edb01c88faa1c1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestReturnZeroIfNil // CHECK-NEXT: issue_hash1 @@ -884,6 +885,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDivision by zero // CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_2a0c225402d31c1994b43b156184ce509 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDispatchSyncInlining // CHECK-NEXT: issue_hash14 @@ -1134,6 +1136,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeuninitialized variable captured by block // CHECK-NEXT: check_namecore.uninitialized.CapturedBlockVariable +// CHECK-NEXT: issue_hash_26763f0438bcb4337c8f8c9863b35b8c1 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line118 @@ -1449,6 +1452,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2d32b4cd912950f7b38ae28dbf29d9e63 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNilReceiverHelper // CHECK-NEXT: issue_hash1 @@ -1627,6 +1631,7 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typenil argument // CHECK-NEXT: check_nameosx.cocoa.NilArg +// CHECK-NEXT: issue_hash_2a90589ba5d063fbfecc615bf06f84f5a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestCreateArrayLiteral // CHECK-NEXT: issue_hash3 @@ -2023,6 +2028,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2a3c91a7a52619d81ebe032dcc49ebb93 // 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 @@ -409,6 +409,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2c60b35a3e46fd104f362f430a1eaca5d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextdiagnosticTest // CHECK-NEXT: issue_hash2 @@ -572,6 +573,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_29b732ec46c4a08108dfbd37aa0955c51 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmyArrayAllocation // CHECK-NEXT: issue_hash2 @@ -958,6 +960,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_237c0b1a1e65d26af6f9fb840cf159149 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocDiagnostics // CHECK-NEXT: issue_hash1 @@ -1358,6 +1361,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2384d1700f3d9c8eeea96d171e3030bdf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_wrapper // CHECK-NEXT: issue_hash1 @@ -1879,6 +1883,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeUse-after-free // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2422436dc85b85cde7e15046a5616ee99 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_double_action_call // CHECK-NEXT: issue_hash3 @@ -2439,6 +2444,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_223a6c295a515c455bea1c81519bc05b6 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextreallocIntra // CHECK-NEXT: issue_hash1 @@ -2708,6 +2714,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_245181c7fc1df81a732346f1ed1b3f238 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse_ret // CHECK-NEXT: issue_hash2 @@ -2871,6 +2878,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2d8483ccf1d5a1af1e8bcaac6905a18b3 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextLeakedSymbol // CHECK-NEXT: issue_hash3 @@ -3077,6 +3085,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_22022ee38a4a053682017a3d8aedae6b2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak1 // CHECK-NEXT: issue_hash1 @@ -3283,6 +3292,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2a6931b3d485043e882a551f479ec85af // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak2 // CHECK-NEXT: issue_hash1 @@ -3586,6 +3596,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2fe67f72466d3bc3e9b6d6cfb60b76292 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak3 // CHECK-NEXT: issue_hash1 @@ -3889,6 +3900,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2d66718d22219a3c0a567e98cd26fa023 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak4 // CHECK-NEXT: issue_hash1 @@ -4095,6 +4107,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2ec4364e19a29af2b0ed19da694f0670f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak5 // CHECK-NEXT: issue_hash1 @@ -4301,6 +4314,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2c7207812c29388262da6541bf80a2526 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfunction_with_leak6 // CHECK-NEXT: issue_hash1 @@ -4536,6 +4550,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2eb5628850b9b9118fbda903e721436a5 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuse_function_with_leak7 // CHECK-NEXT: issue_hash1 @@ -4771,6 +4786,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_2ad5b603037bc3581ff94947e86dbb1c8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestOnlyRefferToVisibleVariables // CHECK-NEXT: issue_hash1 @@ -5040,6 +5056,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_28d59cc5cc4b7db55d432abc18b0e6c23 // 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 @@ -144,6 +144,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is uninitialized // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_28c0cdb645ae6be246ed75941dcefd32d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic // CHECK-NEXT: issue_hash2 @@ -254,6 +255,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_298e39ef0e4bbc0b9b2b1832285634d67 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_null // CHECK-NEXT: issue_hash2 @@ -398,6 +400,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_284f3d9d5009d2ac455b46b4aae88f67f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_set_to_null // CHECK-NEXT: issue_hash3 @@ -542,6 +545,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_2c5bd8e35fb6da070914016804720ae4d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_null // CHECK-NEXT: issue_hash2 @@ -652,6 +656,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_24681ee922f6860377317b26b3a4bb5d4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_ic_member_ptr // CHECK-NEXT: issue_hash4 @@ -796,6 +801,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeCalled C++ object pointer is null // CHECK-NEXT: check_namecore.CallAndMessage +// CHECK-NEXT: issue_hash_2e23397f9f2eff1b08593c2b2db137494 // 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 @@ -40,250 +40,251 @@ // CHECK: diagnostics // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: path -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: path +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line22 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line22 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: 'p' initialized to 0 +// CHECK-NEXT: message +// CHECK-NEXT: 'p' initialized to 0 // CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line24 +// CHECK-NEXT: col5 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col7 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line25 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: 'p' initialized to 0 -// CHECK-NEXT: message -// CHECK-NEXT: 'p' initialized to 0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line24 -// CHECK-NEXT: col5 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line25 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col3 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col4 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col7 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col24 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindcontrol -// CHECK-NEXT: edges -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: start -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col7 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line31 -// CHECK-NEXT: col24 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: end -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: kindevent -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 // CHECK-NEXT: -// CHECK-NEXT: ranges -// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col13 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col3 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col4 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindcontrol +// CHECK-NEXT: edges +// CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col17 -// CHECK-NEXT: file0 +// CHECK-NEXT: start +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col7 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line31 +// CHECK-NEXT: col24 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: end +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: // CHECK-NEXT: // CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: depth0 -// CHECK-NEXT: extended_message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: message -// CHECK-NEXT: Division by zero -// CHECK-NEXT: -// CHECK-NEXT: -// 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 -// CHECK-NEXT: location -// CHECK-NEXT: -// CHECK-NEXT: line35 -// CHECK-NEXT: col15 -// CHECK-NEXT: file0 -// CHECK-NEXT: -// CHECK-NEXT: -// CHECK-NEXT: \ No newline at end of file +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: kindevent +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: ranges +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col13 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col17 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: depth0 +// CHECK-NEXT: extended_message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: message +// CHECK-NEXT: Division by zero +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: descriptionDivision by zero +// CHECK-NEXT: categoryLogic error +// CHECK-NEXT: typeDivision by zero +// CHECK-NEXT: check_namecore.DivideZero +// CHECK-NEXT: issue_hash_286cb845e4f1e6abde1c5b319d5b08eca +// CHECK-NEXT: issue_context_kindfunction +// CHECK-NEXT: issue_contextmain +// CHECK-NEXT: issue_hash15 +// CHECK-NEXT: location +// CHECK-NEXT: +// CHECK-NEXT: line35 +// CHECK-NEXT: col15 +// CHECK-NEXT: file0 +// CHECK-NEXT: +// CHECK-NEXT: +// CHECK-NEXT: Index: test/Analysis/null-deref-path-notes.m =================================================================== --- test/Analysis/null-deref-path-notes.m +++ test/Analysis/null-deref-path-notes.m @@ -284,6 +284,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_23ff6dd9f2084f4a0dac8c3688c02fd0f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNull // CHECK-NEXT: issue_hash6 @@ -510,6 +511,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2f0f8a37242e3e67a8dd0869ebcdc73c1 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextinitWithID: // CHECK-NEXT: issue_hash6 @@ -785,6 +787,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_29e1f67627fbbfb46b4e3a618246e6b0a // 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 @@ -367,6 +367,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2b41b510812f2a0d8735c67dfff6a9a5c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_working // CHECK-NEXT: issue_hash2 @@ -530,6 +531,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_261d185b2522d15fb327f6784e0217adf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cf_leak // CHECK-NEXT: issue_hash2 @@ -589,6 +591,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_263df5972efc8a7acccdbd2aca10c9e9e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar9424882 // CHECK-NEXT: issue_hash1 @@ -648,6 +651,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_2125290ceaf2b55f5778c262d87b2b6d5 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash1 @@ -707,6 +711,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_254627578ee3b8520400ae899bc32b3d6 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash6 @@ -766,6 +771,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_227c31d7f5825a1613c0206b5be082800 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash7 @@ -825,6 +831,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_2a59b85c1e38300cb17eaeedcf193f94b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash8 @@ -1003,6 +1010,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_25baa7d5f38420d0a035aa61607675f3e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash7 @@ -1132,6 +1140,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_24665e04694fd55e7c4ed7a67860b3b74 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextfrom_cf // CHECK-NEXT: issue_hash8 @@ -1191,6 +1200,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_270a67cc8fefa3ad133a35c3ffb579b9e // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash1 @@ -1250,6 +1260,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_2afc41cacb8f32bfbe4a4152f20cec5bc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash2 @@ -1309,6 +1320,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_2e512cd0ada59beca5acfa53e2a632670 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash3 @@ -1368,6 +1380,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_2a43ae78dcef14395931eeb452f81819f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextto_cf // CHECK-NEXT: issue_hash4 @@ -1512,6 +1525,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2798e65f80df0526369f9bb240e3d91fd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_unretainedObject // CHECK-NEXT: issue_hash2 @@ -1811,6 +1825,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2e1fbcc142b678b3c2c43737ee35b64d9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_objc_arrays // CHECK-NEXT: issue_hash24 @@ -1981,6 +1996,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2e300a279615a384d2b310329651d3978 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar11059275_positive // CHECK-NEXT: issue_hash1 @@ -2096,6 +2112,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_237efdaee587b783c6d49a228ff5ba49f // 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 @@ -221,6 +221,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeBad deallocator // CHECK-NEXT: check_nameunix.MismatchedDeallocator +// CHECK-NEXT: issue_hash_281d63a132b4ef0cc96734c17440a1c26 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextnoteOnMacro // CHECK-NEXT: issue_hash6 @@ -316,6 +317,7 @@ // CHECK-NEXT: categoryMemory Error // CHECK-NEXT: typeMemory leak // CHECK-NEXT: check_nameunix.Malloc +// CHECK-NEXT: issue_hash_22d723d9fb4e5f10dd54a7396866dfce4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroIsFirstInFunction // CHECK-NEXT: issue_hash1 @@ -562,6 +564,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_23570104919aab3f953357f8c87b68bd7 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroInExpression // CHECK-NEXT: issue_hash4 @@ -808,6 +811,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2deff163b13f3fd860bc332498b0dbc59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroInExpressionNoNote // CHECK-NEXT: issue_hash5 @@ -1020,6 +1024,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2b67b58d85375752578e947b77c6aa70c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmacroWithArgInExpression // CHECK-NEXT: issue_hash4 @@ -1164,6 +1169,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2b53410f6c0d3d07e62ce5c6f91a1810a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuseMultiNoteMacroWithError // CHECK-NEXT: issue_hash2 @@ -1371,6 +1377,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_241f58f9549aa1867e461a7996a8d335c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextuseMultiNote // CHECK-NEXT: issue_hash4 @@ -1592,6 +1599,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_22dc47a4afc2f349f12217b38588769f4 // 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 @@ -159,6 +159,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2dc9c2a657ca759f9744cde2e093cfd59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init // CHECK-NEXT: issue_hash2 @@ -303,6 +304,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_28f95d9681490a4e52c167969d0957b39 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign // CHECK-NEXT: issue_hash3 @@ -510,6 +512,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_294c43fbcad6aaff4ee7433f2d2db0bbe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive // CHECK-NEXT: issue_hash4 @@ -688,6 +691,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2659f01507ffd7efd3ca3eab7179fd7d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond // CHECK-NEXT: issue_hash2 @@ -895,6 +899,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2c90d51e62139e614b57aff7021240a82 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive // CHECK-NEXT: issue_hash3 @@ -1073,6 +1078,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2245408d2bc416e324064d990e6dd82a8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field // CHECK-NEXT: issue_hash3 @@ -1367,6 +1373,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_229a10ca4af622b6146ca082e49d919d6 // 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 @@ -296,6 +296,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2dc9c2a657ca759f9744cde2e093cfd59 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_init // CHECK-NEXT: issue_hash2 @@ -440,6 +441,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_28f95d9681490a4e52c167969d0957b39 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign // CHECK-NEXT: issue_hash3 @@ -647,6 +649,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_294c43fbcad6aaff4ee7433f2d2db0bbe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_assign_transitive // CHECK-NEXT: issue_hash4 @@ -825,6 +828,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2659f01507ffd7efd3ca3eab7179fd7d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond // CHECK-NEXT: issue_hash2 @@ -1032,6 +1036,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2c90d51e62139e614b57aff7021240a82 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_cond_transitive // CHECK-NEXT: issue_hash3 @@ -1210,6 +1215,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2245408d2bc416e324064d990e6dd82a8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_null_field // CHECK-NEXT: issue_hash3 @@ -1514,6 +1520,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2b12acffa40177b55b695aa2292533410 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_assumptions // CHECK-NEXT: issue_hash8 @@ -1784,6 +1791,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2c0a32b8291b0fc7230f847f05f415625 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_cond_assign // CHECK-NEXT: issue_hash4 @@ -1928,6 +1936,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_24d72b98a21481b0031190c9aa52fb2c3 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash3 @@ -1987,6 +1996,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead initialization // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_298880471921c087dfff8d53c1b7a938c // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -2150,6 +2160,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_29d2168b570487d61dec19bfc4df40eb4 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest2 // CHECK-NEXT: issue_hash2 @@ -2459,6 +2470,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_208f9a01186cb2f1b78b08ec20260f1c1 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextrdar12280665 // CHECK-NEXT: issue_hash4 @@ -2763,6 +2775,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_293a53e4c8f02d191b07477940ddcf89c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_for // CHECK-NEXT: issue_hash5 @@ -3067,6 +3080,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2f2d2dbf579b0b21a6b68726df6a041fc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_while // CHECK-NEXT: issue_hash7 @@ -3444,6 +3458,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_295c7d39fb9d0d8c172b894e02855a07c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextradar12322528_foo_2 // CHECK-NEXT: issue_hash6 @@ -3884,6 +3899,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_24cbbc713c8267513fef8a33f1327d7ca // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics // CHECK-NEXT: issue_hash3 @@ -4358,6 +4374,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a5aa7cf7ce6ba6683bebfff63df926fd // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_2 // CHECK-NEXT: issue_hash6 @@ -4832,6 +4849,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_23917bac4f8fdce1f6c6393b1f14a1320 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_diagnostics_3 // CHECK-NEXT: issue_hash7 @@ -4879,6 +4897,7 @@ // CHECK-NEXT: categoryDead store // CHECK-NEXT: typeDead increment // CHECK-NEXT: check_namedeadcode.DeadStores +// CHECK-NEXT: issue_hash_2c94f341ebaf0fac5d6703aaa7e6bee9b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_fast_enumeration // CHECK-NEXT: issue_hash5 @@ -5085,7 +5104,8 @@ // 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: check_namecore.uninitialized.Assign +// CHECK-NEXT: issue_hash_221c774309bdfd487c3d09a61a671bbcc // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_loop_fast_enumeration // CHECK-NEXT: issue_hash5 @@ -5196,6 +5216,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_25d3f4c433004c7a6d4a06aa30cc3ea85 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -5306,6 +5327,7 @@ // CHECK-NEXT: categoryAPI // CHECK-NEXT: typeArgument with 'nonnull' attribute passed null // CHECK-NEXT: check_namecore.NonNullParamChecker +// CHECK-NEXT: issue_hash_2c0b359a043c633f1b8d1581f68743361 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextRDar13295437 // CHECK-NEXT: issue_hash3 @@ -5547,6 +5569,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2a225fec9dc1e56142b68b3df82b00b6c // 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 @@ -209,6 +209,7 @@ // 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_hash_2487197d1f3d333a1fb4d7610b6d852df // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaCFCreate // CHECK-NEXT: issue_hash1 @@ -653,6 +654,7 @@ // 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_hash_24f71073d5e7f2546564c1614dfc95420 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmakeCollectable // CHECK-NEXT: issue_hash1 @@ -1022,6 +1024,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_23d18c66bf99e8cd2938e8c63c345f6ea // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextretainReleaseIgnored // CHECK-NEXT: issue_hash5 @@ -1207,6 +1210,7 @@ // 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_hash_215c0512feb574212451b7fbf81f9e4af // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextgetViolation // CHECK-NEXT: issue_hash1 @@ -1392,6 +1396,7 @@ // 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_hash_215c0512feb574212451b7fbf81f9e4af // 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 @@ -465,6 +465,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2d21e9660cc6434ef84a51f39ffcdce86 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaAlloc // CHECK-NEXT: issue_hash1 @@ -609,6 +610,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2f8ec2601a04113e567aa1d09c9902c91 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextcreationViaCFCreate // CHECK-NEXT: issue_hash1 @@ -978,6 +980,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2dd26a8ad9a7a057feaa636974b43ccb0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaMethod // CHECK-NEXT: issue_hash1 @@ -1197,6 +1200,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_22f2de5d7fe728958585598b619069e5a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaProperty // CHECK-NEXT: issue_hash1 @@ -1416,6 +1420,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_21c02b65e83dad1b22270ff5a71de3118 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextacquisitionViaCFFunction // CHECK-NEXT: issue_hash1 @@ -1635,6 +1640,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeUse-after-release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_203c23f0f82d7f2fd880a22e0d9cf14b9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextexplicitDealloc // CHECK-NEXT: issue_hash3 @@ -1854,6 +1860,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeUse-after-release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_26f1b3f0c6c7f79f1af9b313273a01e92 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextimplicitDealloc // CHECK-NEXT: issue_hash3 @@ -2148,6 +2155,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2cb5e4205a8f925230a70715914a2e3d2 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextoverAutorelease // CHECK-NEXT: issue_hash4 @@ -2367,6 +2375,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_21edd178e5ad76c79ce9812f519e8f467 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextautoreleaseUnowned // CHECK-NEXT: issue_hash3 @@ -2661,6 +2670,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_23f08690fae9687c29bb23b7a7cb7995b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextmakeCollectableIgnored // CHECK-NEXT: issue_hash1 @@ -2846,6 +2856,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_24b621ab5f8f2ef9240699119f4d874cb // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFCopyRuleViolation // CHECK-NEXT: issue_hash2 @@ -3031,6 +3042,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_25248d2310322982d02e5f3d564249b4f // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFGetRuleViolation // CHECK-NEXT: issue_hash1 @@ -3216,6 +3228,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2f6891f0fd1db69ed49f7bb69e6e5bf75 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolation // CHECK-NEXT: issue_hash2 @@ -3401,6 +3414,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2f6891f0fd1db69ed49f7bb69e6e5bf75 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolationIndexedSubscript // CHECK-NEXT: issue_hash2 @@ -3586,6 +3600,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2f6891f0fd1db69ed49f7bb69e6e5bf75 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyViolationKeyedSubscript // CHECK-NEXT: issue_hash2 @@ -3771,6 +3786,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak of returned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_200f6e75e68e0a3a1991b17ca821b4652 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextgetViolation // CHECK-NEXT: issue_hash1 @@ -3990,6 +4006,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeMethod should return an owned object // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2f6891f0fd1db69ed49f7bb69e6e5bf75 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contextcopyAutorelease // CHECK-NEXT: issue_hash3 @@ -4134,6 +4151,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_24e0c810e2b301aca3f636ad7e3d6b0b8 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestNumericLiteral // CHECK-NEXT: issue_hash2 @@ -4278,6 +4296,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_21d054002016aa4360aaf23a4c4d8fbb7 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBoxedInt // CHECK-NEXT: issue_hash2 @@ -4422,6 +4441,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_267ca92144b05322ee4569aea88d08595 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestBoxedString // CHECK-NEXT: issue_hash2 @@ -4566,6 +4586,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_232fcec71872b8f62d8d7b1b05284b0fe // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestArray // CHECK-NEXT: issue_hash2 @@ -4710,6 +4731,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeBad release // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2d9584825bb1e62066879949e3ade8570 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttestDictionary // CHECK-NEXT: issue_hash2 @@ -5091,6 +5113,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_26ae763a2930f8f592f5b3f6dcbb86883 // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash2 @@ -5443,6 +5466,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeLeak // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_22d2cf611450245952150bdcda99c3acd // CHECK-NEXT: issue_context_kindObjective-C method // CHECK-NEXT: issue_contexttest // CHECK-NEXT: issue_hash8 @@ -5737,6 +5761,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_24fc36e73ba317d307dc9cc4b3d62fd0a // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFOverAutorelease // CHECK-NEXT: issue_hash4 @@ -5956,6 +5981,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_208e6a3931d34cda45c09dfda76976e17 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextCFAutoreleaseUnowned // CHECK-NEXT: issue_hash3 @@ -6250,6 +6276,7 @@ // CHECK-NEXT: categoryMemory (Core Foundation/Objective-C) // CHECK-NEXT: typeObject autoreleased too many times // CHECK-NEXT: check_nameosx.cocoa.RetainCount +// CHECK-NEXT: issue_hash_2d9bb23a5435fe15df9d7ffdc27a8a072 // 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 @@ -407,6 +407,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeImproper use of 'open' // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_25ef25c5c47db3dbfb329901d426452e7 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_open // CHECK-NEXT: issue_hash6 @@ -556,6 +557,7 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typeImproper use of 'dispatch_once' // CHECK-NEXT: check_nameosx.API +// CHECK-NEXT: issue_hash_2173fbcac3fc64dbaec32768d4cfda250 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_dispatch_once // CHECK-NEXT: issue_hash2 @@ -637,6 +639,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeImproper use of 'pthread_once' // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_21e2f657a65cf8ee3c3ac2227de05ade4 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_pthread_once // CHECK-NEXT: issue_hash2 @@ -718,6 +721,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_20e841458f0cb7cf161d35f9db5862dcf // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contextpr2899 // CHECK-NEXT: issue_hash1 @@ -799,6 +803,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_2a267ff573c7e8b959a3f886677893eb0 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calloc // CHECK-NEXT: issue_hash1 @@ -880,6 +885,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_214eb72957baab3c63bac610a10e6f48b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_calloc2 // CHECK-NEXT: issue_hash1 @@ -961,6 +967,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_27f6f67ebe3d481aed7750005bea7e371 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_realloc // CHECK-NEXT: issue_hash1 @@ -1042,6 +1049,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_24941698efbd81601653dff10ef9c645b // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_reallocf // CHECK-NEXT: issue_hash1 @@ -1123,6 +1131,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_2b7ca3488e81d9d9d4b8dc545258ce97c // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_alloca // CHECK-NEXT: issue_hash1 @@ -1204,6 +1213,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_21ec52551362b070237f47f6bb6c3847d // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_builtin_alloca // CHECK-NEXT: issue_hash1 @@ -1285,6 +1295,7 @@ // CHECK-NEXT: categoryUnix API // CHECK-NEXT: typeUndefined allocation of 0 bytes (CERT MEM04-C; CWE-131) // CHECK-NEXT: check_nameunix.API +// CHECK-NEXT: issue_hash_2675741e04c8d0071d280324e23f41d35 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_valloc // CHECK-NEXT: issue_hash1 @@ -1366,6 +1377,7 @@ // CHECK-NEXT: categoryAPI Misuse (Apple) // CHECK-NEXT: typeImproper use of 'dispatch_once' // CHECK-NEXT: check_nameosx.API +// CHECK-NEXT: issue_hash_28ded1f2025c1e4a4bcd5302dc97006d9 // CHECK-NEXT: issue_context_kindfunction // CHECK-NEXT: issue_contexttest_dispatch_once_in_macro // CHECK-NEXT: issue_hash2 @@ -1776,6 +1788,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_25d3f4c433004c7a6d4a06aa30cc3ea85 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line192 @@ -2163,6 +2176,7 @@ // CHECK-NEXT: categoryLogic error // CHECK-NEXT: typeDereference of null pointer // CHECK-NEXT: check_namecore.NullDereference +// CHECK-NEXT: issue_hash_2265c4fd608dafee211bfa93d21c28866 // CHECK-NEXT: location // CHECK-NEXT: // CHECK-NEXT: line202