about summary refs log tree commit diff
path: root/src/test/ui/asm/asm-parse-errors.rs
blob: e712ac5826e2ccefb3aef0f77f9a28cd3bc7cee3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#![feature(asm)]

fn main() {
    asm!(); //~ ERROR requires a string literal as an argument
    asm!("nop" : struct); //~ ERROR expected string literal
    asm!("mov %eax, $$0x2" : struct); //~ ERROR expected string literal
    asm!("mov %eax, $$0x2" : "={eax}" struct); //~ ERROR expected `(`
    asm!("mov %eax, $$0x2" : "={eax}"(struct)); //~ ERROR expected expression
    asm!("in %dx, %al" : "={al}"(result) : struct); //~ ERROR expected string literal
    asm!("in %dx, %al" : "={al}"(result) : "{dx}" struct); //~ ERROR expected `(`
    asm!("in %dx, %al" : "={al}"(result) : "{dx}"(struct)); //~ ERROR expected expression
    asm!("mov $$0x200, %eax" : : : struct); //~ ERROR expected string literal
    asm!("mov eax, 2" : "={eax}"(foo) : : : struct); //~ ERROR expected string literal
    asm!(123); //~ ERROR inline assembly must be a string literal
}