diff options
author | Chad Rosier <mcrosier@apple.com> | 2013-04-11 23:57:29 +0000 |
---|---|---|
committer | Chad Rosier <mcrosier@apple.com> | 2013-04-11 23:57:29 +0000 |
commit | 5e768cad6a660d439f1a19c06b423bed30f91f97 (patch) | |
tree | 3727fadeec02e7b671a5643ef13a15dbfe86b4f5 | |
parent | dbcfa8b95543cd8601c6acd9021168f0019f9757 (diff) |
Add test case for r179343.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179344 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | test/CodeGen/ms-inline-asm.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/CodeGen/ms-inline-asm.cpp b/test/CodeGen/ms-inline-asm.cpp index 7e11700e1a..99071aa81c 100644 --- a/test/CodeGen/ms-inline-asm.cpp +++ b/test/CodeGen/ms-inline-asm.cpp @@ -4,8 +4,10 @@ struct Foo { static int *ptr; static int a, b; + int arr[4]; struct Bar { static int *ptr; + char arr[2]; }; }; @@ -34,3 +36,23 @@ void t2() { // CHECK: call void asm sideeffect inteldialect "mov eax, Foo::ptr", "~{eax},~{dirflag},~{fpsr},~{flags}"() // CHECK: call void asm sideeffect inteldialect "mov eax, Foo::Bar::ptr", "~{eax},~{dirflag},~{fpsr},~{flags}"() } + +void t3() { + __asm mov eax, LENGTH Foo::ptr + __asm mov eax, LENGTH Foo::Bar::ptr + __asm mov eax, LENGTH Foo::arr + __asm mov eax, LENGTH Foo::Bar::arr + + __asm mov eax, TYPE Foo::ptr + __asm mov eax, TYPE Foo::Bar::ptr + __asm mov eax, TYPE Foo::arr + __asm mov eax, TYPE Foo::Bar::arr + + __asm mov eax, SIZE Foo::ptr + __asm mov eax, SIZE Foo::Bar::ptr + __asm mov eax, SIZE Foo::arr + __asm mov eax, SIZE Foo::Bar::arr +// CHECK: t3 +// FIXME: These tests just make sure we can parse things properly. +// Additional work needs to be done in Sema to perform the lookup. +} |