diff options
author | Paul Kirth <paulkirth@google.com> | 2023-10-06 15:21:20 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-06 15:21:20 -0700 |
commit | 5619e1b813f3fa7d67b7a85a177d72ccb5d709cb (patch) | |
tree | 3b01366d1d28f2f1a368e8db9a4c57a99db6a105 /clang/unittests/Basic/SourceManagerTest.cpp | |
parent | 28e8ade041d04ba1847d7b05f56b0b2632471169 (diff) | |
download | llvm-5619e1b813f3fa7d67b7a85a177d72ccb5d709cb.zip llvm-5619e1b813f3fa7d67b7a85a177d72ccb5d709cb.tar.gz llvm-5619e1b813f3fa7d67b7a85a177d72ccb5d709cb.tar.bz2 |
Fix non-determinism in debuginfo (#68332)
Assignment tracking iterates over a SmallSet when adding metadata, which
eventually results in debug metadata being added to the module in
non-deterministic order.
As reported in #63921, we saw some cases where DWARF DebugLoc entries
could have their order reversed, even though there was no functional
difference.
This patch replaces the `SmallSet` with a `SmallVector`, and adds the
required `DenseMapInfo` specialization to make the ordering
deterministic.
Fixes #63921
Diffstat (limited to 'clang/unittests/Basic/SourceManagerTest.cpp')
0 files changed, 0 insertions, 0 deletions