{"push_id":614858975,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"eb1f564a0e0739bd50be87115dcff149eb8de368","before":"59ad8075ea077bc5dac1fbf5e07e69a533b31171","commits":[{"sha":"eb1f564a0e0739bd50be87115dcff149eb8de368","author":{"email":"420c9fb3407b8e11ac322a0e7703f7b1f526df04@gmail.com","name":"Chandler Carruth"},"message":"[Modules] Make the AST serialization always use lexicographic order when\ntraversing the identifier table.\n\nNo easy test case as this table is somewhere between hard and impossible\nto observe as non-deterministically ordered. The table is a hash table\nbut we hash the string contents and never remove entries from the table\nso the growth pattern, etc, is all completely fixed. However, relying on\nthe hash function being deterministic is specifically against the\nlong-term direction of LLVM's hashing datastructures, which are intended\nto provide *no* ordering guarantees. As such, this defends against these\nthings by sorting the identifiers. Sorting identifiers right before we\nemit them to a serialized form seems a low cost for predictability here.\n\ngit-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@233332 91177308-0d34-0410-b5e6-96231b3b80d8","distinct":true,"url":"https://api.github.com/repos/llvm-mirror/clang/commits/eb1f564a0e0739bd50be87115dcff149eb8de368"}]}