Skip to content

Commit

Permalink
Refactor liveness-issue-77915 to liveness-asm and improve tests
Browse files Browse the repository at this point in the history
  • Loading branch information
oliviacrain committed Oct 19, 2020
1 parent 17c6c59 commit 8f0bced
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 36 deletions.
43 changes: 43 additions & 0 deletions src/test/ui/liveness/liveness-asm.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Ensure inout asm! operands are marked as used by the liveness pass

// check-pass

#![feature(asm)]
#![allow(dead_code)]
#![warn(unused_assignments)]
#![warn(unused_variables)]

// Test the single inout case
unsafe fn f1(mut src: *const u8) {
asm!("/*{0}*/", inout(reg) src); //~ WARN value assigned to `src` is never read
}

unsafe fn f2(mut src: *const u8) -> *const u8 {
asm!("/*{0}*/", inout(reg) src);
src
}

// Test the split inout case
unsafe fn f3(mut src: *const u8) {
asm!("/*{0}*/", inout(reg) src => src); //~ WARN value assigned to `src` is never read
}

unsafe fn f4(mut src: *const u8) -> *const u8 {
asm!("/*{0}*/", inout(reg) src => src);
src
}

// Tests the use of field projections
struct S {
field: *mut u8,
}

unsafe fn f5(src: &mut S) {
asm!("/*{0}*/", inout(reg) src.field);
}

unsafe fn f6(src: &mut S) {
asm!("/*{0}*/", inout(reg) src.field => src.field);
}

fn main() {}
23 changes: 23 additions & 0 deletions src/test/ui/liveness/liveness-asm.stderr
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
warning: value assigned to `src` is never read
--> $DIR/liveness-asm.rs:12:32
|
LL | asm!("/*{0}*/", inout(reg) src);
| ^^^
|
note: the lint level is defined here
--> $DIR/liveness-asm.rs:7:9
|
LL | #![warn(unused_assignments)]
| ^^^^^^^^^^^^^^^^^^
= help: maybe it is overwritten before being read?

warning: value assigned to `src` is never read
--> $DIR/liveness-asm.rs:22:39
|
LL | asm!("/*{0}*/", inout(reg) src => src);
| ^^^
|
= help: maybe it is overwritten before being read?

warning: 2 warnings emitted

36 changes: 0 additions & 36 deletions src/test/ui/liveness/liveness-issue-77915.rs

This file was deleted.

0 comments on commit 8f0bced

Please sign in to comment.