diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/PCH/asm.c | 11 | ||||
-rw-r--r-- | clang/test/PCH/asm.h | 14 |
2 files changed, 25 insertions, 0 deletions
diff --git a/clang/test/PCH/asm.c b/clang/test/PCH/asm.c new file mode 100644 index 00000000000..135abc17968 --- /dev/null +++ b/clang/test/PCH/asm.c @@ -0,0 +1,11 @@ +// Test this without pch. +// RUN: clang-cc -include %S/asm.h -fsyntax-only -verify %s + +// Test with pch. +// RUN: clang-cc -emit-pch -o %t %S/asm.h && +// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s + + +void call_f(void) { f(); } + +void call_clobbers(void) { clobbers(); } diff --git a/clang/test/PCH/asm.h b/clang/test/PCH/asm.h new file mode 100644 index 00000000000..a568058d58f --- /dev/null +++ b/clang/test/PCH/asm.h @@ -0,0 +1,14 @@ +// Header for the PCH test asm.c + +void f() { + int i; + + asm ("foo\n" : : "a" (i + 2)); + asm ("foo\n" : [symbolic_name] "=a" (i) : "[symbolic_name]" (i)); +} + +void clobbers() { + asm ("nop" : : : "ax", "#ax", "%ax"); + asm ("nop" : : : "eax", "rax", "ah", "al"); + asm ("nop" : : : "0", "%0", "#0"); +} |