diff options
Diffstat (limited to 'test/Parser/ms-inline-asm.c')
-rw-r--r-- | test/Parser/ms-inline-asm.c | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/test/Parser/ms-inline-asm.c b/test/Parser/ms-inline-asm.c index b1af23e..2d18195 100644 --- a/test/Parser/ms-inline-asm.c +++ b/test/Parser/ms-inline-asm.c @@ -3,23 +3,36 @@ #define M __asm int 0x2c #define M2 int -void t1(void) { M } -void t2(void) { __asm int 0x2c } -void t3(void) { __asm M2 0x2c } -void* t4(void) { __asm mov eax, fs:[0x10] } +void t1(void) { M } // expected-warning {{MS-style inline assembly is not supported}} +void t2(void) { __asm int 0x2c } // expected-warning {{MS-style inline assembly is not supported}} +void t3(void) { __asm M2 0x2c } // expected-warning {{MS-style inline assembly is not supported}} +void* t4(void) { __asm mov eax, fs:[0x10] } // expected-warning {{MS-style inline assembly is not supported}} void t5() { - __asm { + __asm { // expected-warning {{MS-style inline assembly is not supported}} int 0x2c ; } asm comments are fun! }{ } - __asm {} + __asm {} // no warning as this gets merged with the previous inline asm } int t6() { - __asm int 3 ; } comments for single-line asm - __asm {} + __asm int 3 ; } comments for single-line asm // expected-warning {{MS-style inline assembly is not supported}} + __asm {} // no warning as this gets merged with the previous inline asm - __asm int 4 + __asm int 4 // no warning as this gets merged with the previous inline asm return 10; } -int t7() { // expected-note {{to match this}} +int t7() { + __asm { // expected-warning {{MS-style inline assembly is not supported}} + push ebx + mov ebx, 0x07 + pop ebx + } +} +void t8() { + __asm nop __asm nop __asm nop // expected-warning {{MS-style inline assembly is not supported}} +} +void t9() { + __asm nop __asm nop ; __asm nop // expected-warning {{MS-style inline assembly is not supported}} +} +int t_fail() { // expected-note {{to match this}} __asm __asm { // expected-error 3 {{expected}} expected-note {{to match this}} |