Skip to content

Commit

Permalink
Migrate atomic-lock-free to rmake
Browse files Browse the repository at this point in the history
  • Loading branch information
Rejyr committed Jul 16, 2024
1 parent 03b3c8c commit 4b58924
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 49 deletions.
1 change: 0 additions & 1 deletion src/tools/tidy/src/allowed_run_make_makefiles.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
run-make/archive-duplicate-names/Makefile
run-make/atomic-lock-free/Makefile
run-make/branch-protection-check-IBT/Makefile
run-make/c-dynamic-dylib/Makefile
run-make/c-dynamic-rlib/Makefile
Expand Down
48 changes: 0 additions & 48 deletions tests/run-make/atomic-lock-free/Makefile

This file was deleted.

52 changes: 52 additions & 0 deletions tests/run-make/atomic-lock-free/rmake.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
// This tests ensure that atomic types are never lowered into runtime library calls that are not
// guaranteed to be lock-free.

//@ only-linux

use run_make_support::{llvm_components_contain, llvm_readobj, rustc};

fn compile(target: &str) {
rustc().input("atomic_lock_free.rs").target(target).run();
}

fn check() {
llvm_readobj()
.symbols()
.input("libatomic_lock_free.rlib")
.run()
.assert_stdout_not_contains("__atomic_fetch_add");
}

fn compile_and_check(target: &str) {
compile(target);
check();
}

fn main() {
if llvm_components_contain("x86") {
compile_and_check("i686-unknown-linux-gnu");
compile_and_check("x86_64-unknown-linux-gnu");
}
if llvm_components_contain("arm") {
compile_and_check("arm-unknown-linux-gnueabi");
compile_and_check("arm-unknown-linux-gnueabihf");
compile_and_check("armv7-unknown-linux-gnueabihf");
compile_and_check("thumbv7neon-unknown-linux-gnueabihf");
}
if llvm_components_contain("aarch64") {
compile_and_check("aarch64-unknown-linux-gnu");
}
if llvm_components_contain("mips") {
compile_and_check("mips-unknown-linux-gnu");
compile_and_check("mipsel-unknown-linux-gnu");
}
if llvm_components_contain("powerpc") {
compile_and_check("powerpc-unknown-linux-gnu");
compile_and_check("powerpc-unknown-linux-gnuspe");
compile_and_check("powerpc64-unknown-linux-gnu");
compile_and_check("powerpc64le-unknown-linux-gnu");
}
if llvm_components_contain("systemz") {
compile_and_check("s390x-unknown-linux-gnu");
}
}

0 comments on commit 4b58924

Please sign in to comment.