xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1*0a6a1f1dSLionel Sambuc // RUN: %clang_cc1 -fms-extensions -triple i686-pc-windows-msvc %s -emit-llvm-only -verify
2*0a6a1f1dSLionel Sambuc 
3*0a6a1f1dSLionel Sambuc // We reject this because LLVM doesn't forward the second regparm through the
4*0a6a1f1dSLionel Sambuc // thunk.
5*0a6a1f1dSLionel Sambuc 
6*0a6a1f1dSLionel Sambuc struct A {
7*0a6a1f1dSLionel Sambuc   virtual void __fastcall f(int a, int b); // expected-error {{cannot compile this pointer to fastcall virtual member function yet}}
8*0a6a1f1dSLionel Sambuc };
doit()9*0a6a1f1dSLionel Sambuc void (__fastcall A::*doit())(int, int) {
10*0a6a1f1dSLionel Sambuc   return &A::f;
11*0a6a1f1dSLionel Sambuc }
12