diff options
author | Rui Ueyama <ruiu@google.com> | 2015-07-02 20:33:48 +0000 |
---|---|---|
committer | Rui Ueyama <ruiu@google.com> | 2015-07-02 20:33:48 +0000 |
commit | 65813edfe2421ae3810f54e65a551464aa6fe0cb (patch) | |
tree | 0d6c502295fb76147a86655c20cb070490eb96c1 /llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp | |
parent | b61173e791e3ac35d84775ecfde6db983759fb9d (diff) | |
download | bcm5719-llvm-65813edfe2421ae3810f54e65a551464aa6fe0cb.tar.gz bcm5719-llvm-65813edfe2421ae3810f54e65a551464aa6fe0cb.zip |
COFF: Make symbols satisfy weak ordering.
Previously, SymbolBody::compare(A, B) didn't satisfy weak ordering.
There was a case that A < B and B < A could have been true.
This is because we just pick LHS if A and B are consisdered equivalent.
This patch is to make symbols being weakly ordered. If A and B are
not tie, one of A < B && B > A or A > B && B < A is true.
This is not an improtant property for a single-threaded environment
because everything is deterministic anyways. However, in a multi-
threaded environment, this property becomes important.
If a symbol is defined or lazy, ties are resolved by its file index.
For simple types that we don't really care about their identities,
symbols are compared by their addresses.
llvm-svn: 241294
Diffstat (limited to 'llvm/tools/llvm-cxxdump/llvm-cxxdump.cpp')
0 files changed, 0 insertions, 0 deletions