Skip to content

Commit

Permalink
Add regression test for naked functions with invalid asm syntax
Browse files Browse the repository at this point in the history
  • Loading branch information
jam1garner committed Apr 1, 2022
1 parent 0df84cd commit bf26d87
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/test/ui/asm/naked-functions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -209,3 +209,9 @@ pub unsafe extern "C" fn allow_compile_error_and_asm(a: u32) -> u32 {
//~^ ERROR this is a user specified error
asm!("", options(noreturn))
}

#[naked]
pub unsafe extern "C" fn invalid_asm_syntax(a: u32) -> u32 {
asm!(invalid_syntax)
//~^ ERROR asm template must be a string literal
}
8 changes: 7 additions & 1 deletion src/test/ui/asm/naked-functions.stderr
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,12 @@ error: this is a user specified error
LL | compile_error!("this is a user specified error");
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

error: asm template must be a string literal
--> $DIR/naked-functions.rs:215:10
|
LL | asm!(invalid_syntax)
| ^^^^^^^^^^^^^^

error: patterns not allowed in naked function parameters
--> $DIR/naked-functions.rs:20:5
|
Expand Down Expand Up @@ -267,6 +273,6 @@ error: naked functions cannot be inlined
LL | #[inline(never)]
| ^^^^^^^^^^^^^^^^

error: aborting due to 32 previous errors; 2 warnings emitted
error: aborting due to 33 previous errors; 2 warnings emitted

For more information about this error, try `rustc --explain E0787`.

0 comments on commit bf26d87

Please sign in to comment.