1 // PR c++/43031
2 // { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } }
3 
4 class T;
5 class L { };
6 class P : public L
7 {
8   typedef void (__attribute__((__stdcall__)) T::*F) (L*);
9   void f(bool aAdd);
10 };
11 class T
12 {
13 public:
14     virtual void __attribute__((__stdcall__)) A(L *listener) = 0;
15     virtual void __attribute__((__stdcall__)) R(L *listener) = 0;
16 };
f(bool aAdd)17 void P::f(bool aAdd)
18 {
19   F addRemoveEventListener = (aAdd ? &T::A : &T::R);
20 }
21