forked from OSchip/llvm-project
Update to the 10-10 SARIF spec.
This removes the Step property (which can be calculated by consumers trivially), and updates the schema and version numbers accordingly. llvm-svn: 345823
This commit is contained in:
parent
bb84407f3d
commit
fa28f335b8
|
@ -154,10 +154,9 @@ static StringRef importanceToStr(Importance I) {
|
|||
llvm_unreachable("Fully covered switch is not so fully covered");
|
||||
}
|
||||
|
||||
static json::Object createThreadFlowLocation(int Step, json::Object &&Location,
|
||||
static json::Object createThreadFlowLocation(json::Object &&Location,
|
||||
Importance I) {
|
||||
return json::Object{{"step", Step},
|
||||
{"location", std::move(Location)},
|
||||
return json::Object{{"location", std::move(Location)},
|
||||
{"importance", importanceToStr(I)}};
|
||||
}
|
||||
|
||||
|
@ -192,12 +191,10 @@ static Importance calculateImportance(const PathDiagnosticPiece &Piece) {
|
|||
static json::Object createThreadFlow(const PathPieces &Pieces,
|
||||
json::Object &Files) {
|
||||
const SourceManager &SMgr = Pieces.front()->getLocation().getManager();
|
||||
int Step = 1;
|
||||
json::Array Locations;
|
||||
for (const auto &Piece : Pieces) {
|
||||
const PathDiagnosticLocation &P = Piece->getLocation();
|
||||
Locations.push_back(createThreadFlowLocation(
|
||||
Step++,
|
||||
createLocation(createPhysicalLocation(P.asRange(),
|
||||
*P.asLocation().getFileEntry(),
|
||||
SMgr, Files),
|
||||
|
@ -261,8 +258,10 @@ void SarifDiagnostics::FlushDiagnosticsImpl(
|
|||
llvm::errs() << "warning: could not create file: " << EC.message() << '\n';
|
||||
return;
|
||||
}
|
||||
json::Object Sarif{{"$schema", "http://json.schemastore.org/sarif-2.0.0"},
|
||||
{"version", "2.0.0-beta.2018-09-26"},
|
||||
{"runs", json::Array{createRun(Diags)}}};
|
||||
json::Object Sarif{
|
||||
{"$schema",
|
||||
"http://json.schemastore.org/sarif-2.0.0-csd.2.beta.2018-10-10"},
|
||||
{"version", "2.0.0-csd.2.beta.2018-10-10"},
|
||||
{"runs", json::Array{createRun(Diags)}}};
|
||||
OS << llvm::formatv("{0:2}", json::Value(std::move(Sarif)));
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"$schema": "http://json.schemastore.org/sarif-2.0.0",
|
||||
"$schema": "http://json.schemastore.org/sarif-2.0.0-csd.2.beta.2018-10-10",
|
||||
"runs": [
|
||||
{
|
||||
"files": {
|
||||
|
@ -7,7 +7,7 @@
|
|||
"fileLocation": {
|
||||
"uri": "file:sarif-diagnostics-taint-test.c"
|
||||
},
|
||||
"length": 497,
|
||||
"length": 510,
|
||||
"mimeType": "text/plain",
|
||||
"roles": [
|
||||
"resultFile"
|
||||
|
@ -38,8 +38,7 @@
|
|||
"startLine": 13
|
||||
}
|
||||
}
|
||||
},
|
||||
"step": 1
|
||||
}
|
||||
},
|
||||
{
|
||||
"importance": "essential",
|
||||
|
@ -58,8 +57,7 @@
|
|||
"startLine": 9
|
||||
}
|
||||
}
|
||||
},
|
||||
"step": 2
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -95,5 +93,5 @@
|
|||
}
|
||||
}
|
||||
],
|
||||
"version": "2.0.0-beta.2018-09-26"
|
||||
"version": "2.0.0-csd.2.beta.2018-10-10"
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.security.taint,debug.TaintTest %s -verify -analyzer-output=sarif -o - | diff -U1 -w -I ".*file:.*sarif-diagnostics-taint-test.c" -I '"version":' -I "2\.0\.0\-beta\." - %S/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif
|
||||
// RUN: %clang_analyze_cc1 -analyzer-checker=alpha.security.taint,debug.TaintTest %s -verify -analyzer-output=sarif -o - | diff -U1 -w -I ".*file:.*sarif-diagnostics-taint-test.c" -I '"version":' -I "2\.0\.0\-csd\.[0-9]*\.beta\." - %S/Inputs/expected-sarif/sarif-diagnostics-taint-test.c.sarif
|
||||
#include "../Inputs/system-header-simulator.h"
|
||||
|
||||
int atoi(const char *nptr);
|
||||
|
|
Loading…
Reference in New Issue