diff options
Diffstat (limited to 'test/CodeGen/2010-08-12-asm-aggr-arg.c')
-rw-r--r-- | test/CodeGen/2010-08-12-asm-aggr-arg.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/CodeGen/2010-08-12-asm-aggr-arg.c b/test/CodeGen/2010-08-12-asm-aggr-arg.c new file mode 100644 index 000000000000..5ddc4122d60f --- /dev/null +++ b/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; +} |