diff options
| author | Jonas Schievink <jonasschievink@gmail.com> | 2016-08-23 22:02:47 +0200 |
|---|---|---|
| committer | Jonas Schievink <jonasschievink@gmail.com> | 2016-08-27 15:20:45 +0200 |
| commit | 2eeca3ccd254b49aef83f12a1cb4179a686e8551 (patch) | |
| tree | 9695d0b7a0de2751284274cab3fd60195d6ee0e8 /src/test/incremental/thinlto | |
| parent | 5adf003b990c7fc76cca3a909c6f81cfe4a1102f (diff) | |
| download | rust-2eeca3ccd254b49aef83f12a1cb4179a686e8551.tar.gz rust-2eeca3ccd254b49aef83f12a1cb4179a686e8551.zip | |
Make metadata encoding deterministic
`ty::Predicate` was being used as a key for a hash map, but its hash implementation indirectly hashed addresses, which vary between each compiler run. This is fixed by sorting predicates by their ID before encoding them. In my tests, rustc is now able to produce deterministic results when compiling libcore and libstd. I've beefed up `run-make/reproducible-build` to compare the produced artifacts bit-by-bit. This doesn't catch everything, but should be a good start. cc #34902
Diffstat (limited to 'src/test/incremental/thinlto')
0 files changed, 0 insertions, 0 deletions
