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)}};
}
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),
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)));
}
{
- "$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": {
"fileLocation": {
"uri": "file:sarif-diagnostics-taint-test.c"
},
- "length": 497,
+ "length": 510,
"mimeType": "text/plain",
"roles": [
"resultFile"
"startLine": 13
}
}
- },
- "step": 1
+ }
},
{
"importance": "essential",
"startLine": 9
}
}
- },
- "step": 2
+ }
}
]
}
}
}
],
- "version": "2.0.0-beta.2018-09-26"
+ "version": "2.0.0-csd.2.beta.2018-10-10"
}
-// 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);