diff options
| author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-09-14 01:51:10 +0000 |
|---|---|---|
| committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-09-14 01:51:10 +0000 |
| commit | ce9d586fdbb1eb3d20888f5bbc831718423c3ec9 (patch) | |
| tree | 00db35a8b1a3390a318303a434b5e57b11329c1e /clang/utils | |
| parent | 60cdd6113f5c94f2cf076008ff46e024b35da300 (diff) | |
| download | bcm5719-llvm-ce9d586fdbb1eb3d20888f5bbc831718423c3ec9.tar.gz bcm5719-llvm-ce9d586fdbb1eb3d20888f5bbc831718423c3ec9.zip | |
Update DiagnosticsReference and fix emitter to emit -Wpedantic diagnostics and groups in a deterministic order.
llvm-svn: 281433
Diffstat (limited to 'clang/utils')
| -rw-r--r-- | clang/utils/TableGen/ClangDiagnosticsEmitter.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp index 036e7423111..58a53b64702 100644 --- a/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp +++ b/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp @@ -1248,11 +1248,20 @@ void EmitClangDiagDocs(RecordKeeper &Records, raw_ostream &OS) { // Compute the set of diagnostics that are in -Wpedantic. { - RecordSet DiagsInPedantic; - RecordSet GroupsInPedantic; + RecordSet DiagsInPedanticSet; + RecordSet GroupsInPedanticSet; InferPedantic inferPedantic(DGParentMap, Diags, DiagGroups, DiagsInGroup); - inferPedantic.compute(&DiagsInPedantic, &GroupsInPedantic); + inferPedantic.compute(&DiagsInPedanticSet, &GroupsInPedanticSet); auto &PedDiags = DiagsInGroup["pedantic"]; + // Put the diagnostics into a deterministic order. + RecordVec DiagsInPedantic(DiagsInPedanticSet.begin(), + DiagsInPedanticSet.end()); + RecordVec GroupsInPedantic(GroupsInPedanticSet.begin(), + GroupsInPedanticSet.end()); + std::sort(DiagsInPedantic.begin(), DiagsInPedantic.end(), + beforeThanCompare); + std::sort(GroupsInPedantic.begin(), GroupsInPedantic.end(), + beforeThanCompare); PedDiags.DiagsInGroup.insert(PedDiags.DiagsInGroup.end(), DiagsInPedantic.begin(), DiagsInPedantic.end()); |

