summary refs log tree commit diff
path: root/src/test/ui/issues/issue-53787-inline-assembler-macro.rs
blob: d9fe7cada278f23c3a281556e95c821e08df2c6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Regression test for Issue #53787: Fix ICE when creating a label in inline assembler with macros.

// build-fail
// ignore-emscripten

#![feature(llvm_asm)]
#![allow(deprecated)] // llvm_asm!

macro_rules! fake_jump {
    ($id:expr) => {
        unsafe {
            llvm_asm!(
            "
            jmp $0
            lea eax, [ebx]
            xor eax, 0xDEADBEEF
            retn
            $0:
            "::"0"($id)::"volatile", "intel");
        }
    };
}

fn main() {
    fake_jump!("FirstFunc"); //~ ERROR invalid value for constraint in inline assembly
    println!("Hello, world!");
}