Renato Golin | 69bb7f6 | 2013-01-25 22:13:50 +0000 | [diff] [blame] | 1 | // REQUIRES: disabled |
Chad Rosier | bce9205 | 2013-01-22 21:39:58 +0000 | [diff] [blame] | 2 | // RUN: %clang_cc1 %s -triple i386-apple-darwin10 -verify -fasm-blocks |
Eli Friedman | 3fedbe1 | 2011-09-30 01:13:51 +0000 | [diff] [blame] | 3 | |
4 | #define M __asm int 0x2c | ||||
5 | #define M2 int | ||||
6 | |||||
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 7 | void t1(void) { M } |
8 | void t2(void) { __asm int 0x2c } | ||||
9 | void t3(void) { __asm M2 0x2c } | ||||
10 | void t4(void) { __asm mov eax, fs:[0x10] } | ||||
Eli Friedman | 3fedbe1 | 2011-09-30 01:13:51 +0000 | [diff] [blame] | 11 | void t5() { |
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 12 | __asm { |
Eli Friedman | 3fedbe1 | 2011-09-30 01:13:51 +0000 | [diff] [blame] | 13 | int 0x2c ; } asm comments are fun! }{ |
14 | } | ||||
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 15 | __asm {} |
Eli Friedman | 3fedbe1 | 2011-09-30 01:13:51 +0000 | [diff] [blame] | 16 | } |
17 | int t6() { | ||||
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 18 | __asm int 3 ; } comments for single-line asm |
19 | __asm {} | ||||
Eli Friedman | 3fedbe1 | 2011-09-30 01:13:51 +0000 | [diff] [blame] | 20 | |
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 21 | __asm int 4 |
Eli Friedman | 3fedbe1 | 2011-09-30 01:13:51 +0000 | [diff] [blame] | 22 | return 10; |
23 | } | ||||
Chad Rosier | 56d7f23 | 2012-08-24 21:42:51 +0000 | [diff] [blame] | 24 | void t7() { |
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 25 | __asm { |
Chad Rosier | a01eddb | 2012-06-12 19:03:42 +0000 | [diff] [blame] | 26 | push ebx |
27 | mov ebx, 0x07 | ||||
28 | pop ebx | ||||
29 | } | ||||
30 | } | ||||
Chad Rosier | b3b26bf | 2012-06-12 20:30:26 +0000 | [diff] [blame] | 31 | void t8() { |
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 32 | __asm nop __asm nop __asm nop |
Chad Rosier | b3b26bf | 2012-06-12 20:30:26 +0000 | [diff] [blame] | 33 | } |
34 | void t9() { | ||||
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 35 | __asm nop __asm nop ; __asm nop |
Chad Rosier | b3b26bf | 2012-06-12 20:30:26 +0000 | [diff] [blame] | 36 | } |
Chad Rosier | a01eddb | 2012-06-12 19:03:42 +0000 | [diff] [blame] | 37 | int t_fail() { // expected-note {{to match this}} |
Chad Rosier | c666cf4 | 2013-01-22 18:18:22 +0000 | [diff] [blame] | 38 | __asm |
39 | __asm { // expected-error 3 {{expected}} expected-note {{to match this}} |