1// RUN: %clang_cc1 %s -verify -fms-extensions 2 3#define M __asm int 0x2c 4#define M2 int 5 6void t1(void) { M } // expected-warning {{MS-style inline assembly is not supported}} 7void t2(void) { __asm int 0x2c } // expected-warning {{MS-style inline assembly is not supported}} 8void t3(void) { __asm M2 0x2c } // expected-warning {{MS-style inline assembly is not supported}} 9void t4(void) { __asm mov eax, fs:[0x10] } // expected-warning {{MS-style inline assembly is not supported}} 10void t5() { 11 __asm { // expected-warning {{MS-style inline assembly is not supported}} 12 int 0x2c ; } asm comments are fun! }{ 13 } 14 __asm {} // expected-warning {{MS-style inline assembly is not supported}} 15} 16int t6() { 17 __asm int 3 ; } comments for single-line asm // expected-warning {{MS-style inline assembly is not supported}} 18 __asm {} // expected-warning {{MS-style inline assembly is not supported}} 19 20 __asm int 4 // expected-warning {{MS-style inline assembly is not supported}} 21 return 10; 22} 23void t7() { 24 __asm { // expected-warning {{MS-style inline assembly is not supported}} 25 push ebx 26 mov ebx, 0x07 27 pop ebx 28 } 29} 30void t8() { 31 __asm nop __asm nop __asm nop // expected-warning {{MS-style inline assembly is not supported}} 32} 33void t9() { 34 __asm nop __asm nop ; __asm nop // expected-warning {{MS-style inline assembly is not supported}} 35} 36int t_fail() { // expected-note {{to match this}} 37 __asm // expected-warning {{MS-style inline assembly is not supported}} 38 __asm { // expected-warning {{MS-style inline assembly is not supported}} expected-error 3 {{expected}} expected-note {{to match this}} 39