diff options
Diffstat (limited to 'test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp')
-rw-r--r-- | test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp b/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp new file mode 100644 index 0000000..6d42b85 --- /dev/null +++ b/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp @@ -0,0 +1,11 @@ +// RUN: %clang_cc1 -fms-extensions -triple i686-pc-windows-msvc %s -emit-llvm-only -verify + +// We reject this because LLVM doesn't forward the second regparm through the +// thunk. + +struct A { + virtual void __fastcall f(int a, int b); // expected-error {{cannot compile this pointer to fastcall virtual member function yet}} +}; +void (__fastcall A::*doit())(int, int) { + return &A::f; +} |