[analyzer] Sort path diagnostics with array_pod_sort.
authorBenjamin Kramer <benny.kra@googlemail.com>
Sat, 14 Mar 2015 12:39:22 +0000 (12:39 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Sat, 14 Mar 2015 12:39:22 +0000 (12:39 +0000)
commit5caa50e4691b27aa455ce7f4a74f68bd98a47f29
treee40dd068ad2a2f4d1565a5e0051f6ccf9d4b52c1
parent15e6954aea2be43eb55b358967e851a65ea013c7
[analyzer] Sort path diagnostics with array_pod_sort.

They're expensive to compare and we won't sort many of them so std::sort
doesn't give any benefits and causes code bloat. Func fact: clang -O3 didn't
even bother to inline libc++'s std::sort here.

While there validate the predicate a bit harder, the sort is unstable and we
don't want to introduce any non-determinism. I had to spell out the function
pointer type because GCC 4.7 still fails to convert the lambda to a function
pointer :(

No intended functionality change.

llvm-svn: 232263
clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp