Reid Kleckner | 76176f2 | 2014-08-29 22:06:20 +0000 | [diff] [blame^] | 1 | // RUN: %clang_cc1 -fms-extensions -triple i686-pc-windows-msvc %s -emit-llvm-only -verify |
Reid Kleckner | c347351 | 2014-08-29 21:43:29 +0000 | [diff] [blame] | 2 | |
| 3 | // We reject this because LLVM doesn't forward the second regparm through the |
| 4 | // thunk. |
| 5 | |
| 6 | struct A { |
Reid Kleckner | 76176f2 | 2014-08-29 22:06:20 +0000 | [diff] [blame^] | 7 | virtual void __fastcall f(int a, int b); // expected-error {{cannot compile this pointer to fastcall virtual member function yet}} |
Reid Kleckner | c347351 | 2014-08-29 21:43:29 +0000 | [diff] [blame] | 8 | }; |
| 9 | void (__fastcall A::*doit())(int, int) { |
Reid Kleckner | 76176f2 | 2014-08-29 22:06:20 +0000 | [diff] [blame^] | 10 | return &A::f; |
Reid Kleckner | c347351 | 2014-08-29 21:43:29 +0000 | [diff] [blame] | 11 | } |