1// REQUIRES: x86-registered-target 2// RUN: %clang_cc1 %s -triple i386-apple-darwin10 -verify -fasm-blocks 3 4#define M __asm int 0x2c 5#define M2 int 6 7void t1(void) { M } 8void t2(void) { __asm int 0x2c } 9void t3(void) { __asm M2 0x2c } 10void t4(void) { __asm mov eax, fs:[0x10] } 11void t5() { 12 __asm { 13 int 0x2c ; } asm comments are fun! }{ 14 } 15 __asm {} 16} 17int t6() { 18 __asm int 3 ; } comments for single-line asm 19 __asm {} 20 21 __asm int 4 22 return 10; 23} 24void t7() { 25 __asm { 26 push ebx 27 mov ebx, 0x07 28 pop ebx 29 } 30} 31void t8() { 32 __asm nop __asm nop __asm nop 33} 34void t9() { 35 __asm nop __asm nop ; __asm nop 36} 37void t10() { 38 __asm { 39 mov eax, 0 40 __asm { 41 mov eax, 1 42 { 43 mov eax, 2 44 } 45 } 46 } 47} 48int t_fail() { // expected-note {{to match this}} 49 __asm 50 __asm { // expected-error 3 {{expected}} expected-note {{to match this}} 51