{"push_id":573661087,"size":2,"distinct_size":2,"ref":"refs/heads/master","head":"9488c5d68f261a3fd38512993a08f4d02ba508f6","before":"dc90609377bc88545288b57b17b591117e421a00","commits":[{"sha":"481ef0a5a6b75813ebc5ebad3f911400fab7829c","author":{"email":"4239aa0d2a9a9fe1ca57c7ca6a764f6a324fc92f@google.com","name":"Zachary Turner"},"message":"Fix the windows build *again*.  Grrr, MSVC.","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project/commits/481ef0a5a6b75813ebc5ebad3f911400fab7829c"},{"sha":"9488c5d68f261a3fd38512993a08f4d02ba508f6","author":{"email":"fbe9e45cbb51ebd86366cc402735e3c7e9b1e064@gmail.com","name":"David Majnemer"},"message":"MS ABI: Implement /volatile:ms\n\nThe /volatile:ms semantics turn volatile loads and stores into atomic\nacquire and release operations.  This distinction is important because\nvolatile memory operations do not form a happens-before relationship\nwith non-atomic memory.  This means that a volatile store is not\nsufficient for implementing a mutex unlock routine.\n\nDifferential Revision: http://reviews.llvm.org/D7580","distinct":true,"url":"https://api.github.com/repos/llvm-project/llvm-project/commits/9488c5d68f261a3fd38512993a08f4d02ba508f6"}]}