diff options
Diffstat (limited to 'clang/test/CodeGen/2010-08-12-asm-aggr-arg.c')
-rw-r--r-- | clang/test/CodeGen/2010-08-12-asm-aggr-arg.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CodeGen/2010-08-12-asm-aggr-arg.c b/clang/test/CodeGen/2010-08-12-asm-aggr-arg.c new file mode 100644 index 0000000..5ddc412 --- /dev/null +++ b/clang/test/CodeGen/2010-08-12-asm-aggr-arg.c @@ -0,0 +1,16 @@ +// RUN: %clang_cc1 %s -emit-llvm -O0 -o - | FileCheck %s +// Radar 8288710: A small aggregate can be passed as an integer. Make sure +// we don't get an error with "input constraint with a matching output +// constraint of incompatible type!" + +struct wrapper { + int i; +}; + +// CHECK: xyz +int test(int i) { + struct wrapper w; + w.i = i; + __asm__("xyz" : "=r" (w) : "0" (w)); + return w.i; +} |