Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Changes from 2 commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
9033576
Work around llvm 12's memory ordering restrictions.
m-ou-se Jun 22, 2022
20cea3e
Fix printing impl trait under binders
compiler-errors Jun 22, 2022
e80cced
Use write! instead of p! to avoid having to use weird scoping
compiler-errors Jun 22, 2022
9169905
x.py: Support systems with only `python3` not `python`
dtolnay Jun 25, 2022
557793c
Bump RLS to latest master on rust-lang/rls
Mark-Simulacrum Jun 25, 2022
50a46b9
Fix backtrace UI test when panic=abort is used
antoyo Jun 25, 2022
4c9e336
Fix CSS rule for selected and hovered items in the source sidebar
GuillaumeGomez Jun 25, 2022
2bb46be
Add test for source sidebar elements colors
GuillaumeGomez Jun 25, 2022
0ea59f3
diagnostics: consider parameter count when suggesting smart pointers
notriddle Jun 25, 2022
418b1fa
Fix LLVM rebuild with download-ci-llvm.
ehuss Jun 25, 2022
645e5c4
Rollup merge of #98371 - compiler-errors:better-opaque-printing, r=ol…
JohnTitor Jun 26, 2022
7c39776
Rollup merge of #98385 - m-ou-se:llvm-12-memory-order, r=petrochenkov
JohnTitor Jun 26, 2022
e1862ca
Rollup merge of #98474 - dtolnay:python3, r=Mark-Simulacrum
JohnTitor Jun 26, 2022
d0828a3
Rollup merge of #98488 - Mark-Simulacrum:bump-rls, r=pietroalbini
JohnTitor Jun 26, 2022
b1d66d8
Rollup merge of #98491 - antoyo:fix/ui-test-backtrace-panic-abort, r=…
JohnTitor Jun 26, 2022
d774bc3
Rollup merge of #98502 - GuillaumeGomez:source-sidebar-hover, r=notri…
JohnTitor Jun 26, 2022
c3b2291
Rollup merge of #98509 - rust-lang:notriddle/precise-pin-diag, r=comp…
JohnTitor Jun 26, 2022
fba8dfd
Rollup merge of #98513 - ehuss:rebuild-llvm-download, r=Mark-Simulacrum
JohnTitor Jun 26, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 15 additions & 1 deletion compiler/rustc_codegen_llvm/src/builder.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1064,11 +1064,25 @@ impl<'a, 'll, 'tcx> BuilderMethods<'a, 'tcx> for Builder<'a, 'll, 'tcx> {
dst: &'ll Value,
cmp: &'ll Value,
src: &'ll Value,
order: rustc_codegen_ssa::common::AtomicOrdering,
mut order: rustc_codegen_ssa::common::AtomicOrdering,
failure_order: rustc_codegen_ssa::common::AtomicOrdering,
weak: bool,
) -> &'ll Value {
let weak = if weak { llvm::True } else { llvm::False };
if llvm_util::get_version() < (13, 0, 0) {
use rustc_codegen_ssa::common::AtomicOrdering::*;
// Older llvm has the pre-C++17 restriction on
// success and failure memory ordering,
// requiring the former to be at least as strong as the latter.
// So, for llvm 12, we upgrade the success ordering to a stronger
// one if necessary.
match (order, failure_order) {
(Relaxed, Acquire) => order = Acquire,
(Release, Acquire) => order = AcquireRelease,
(_, SequentiallyConsistent) => order = SequentiallyConsistent,
_ => {}
}
}
unsafe {
llvm::LLVMRustBuildAtomicCmpXchg(
self.llbuilder,
Expand Down