From f6a15eb1a1c5313a3fa9fb466f46a0740e1c0ede Mon Sep 17 00:00:00 2001 From: Dale Johannesen Date: Fri, 13 Apr 2007 22:54:11 +0000 Subject: [PATCH] tests for struct/union as input operands to asm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35976 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CFrontend/2007-04-13-InlineAsmStruct2.c | 9 +++++++++ test/CFrontend/2007-04-13-InlineAsmUnion2.c | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 test/CFrontend/2007-04-13-InlineAsmStruct2.c create mode 100644 test/CFrontend/2007-04-13-InlineAsmUnion2.c 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)); +}