diff --git a/test/CFrontend/2007-04-13-InlineAsmStruct2.c b/test/CFrontend/2007-04-13-InlineAsmStruct2.c new file mode 100644 index 00000000000..8639b763a35 --- /dev/null +++ b/test/CFrontend/2007-04-13-InlineAsmStruct2.c @@ -0,0 +1,9 @@ +// RUN: %llvmgcc %s -S -emit-llvm -o - | grep 'call void asm' + +struct V { short X, Y; }; +int bar() { + struct V bar; + __asm__ volatile("foo %0\n" :: "r"(bar)); + return bar.X; +} + diff --git a/test/CFrontend/2007-04-13-InlineAsmUnion2.c b/test/CFrontend/2007-04-13-InlineAsmUnion2.c new file mode 100644 index 00000000000..76bd7841a38 --- /dev/null +++ b/test/CFrontend/2007-04-13-InlineAsmUnion2.c @@ -0,0 +1,7 @@ +// RUN: %llvmgcc %s -S -emit-llvm -o - | grep 'call void asm' + +union U { int x; char* p; }; +void foo() { + union U bar; + __asm__ volatile("foo %0\n" :: "r"(bar)); +}