1 // PR c++/43031 2 // { dg-options "-std=c++11 -pedantic" } 3 // { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } 4 5 // c++11 attributes that apply to types are ignored for now 6 7 class T; 8 class L { }; 9 class P : public L 10 { 11 typedef void (T::* [[gnu::__stdcall__]] F2) (L*); // { dg-warning "ignored" } 12 typedef void (T::*F) (L*) [[gnu::__stdcall__]]; // { dg-warning "ignored" } 13 void f(bool aAdd); 14 }; 15 16 class T 17 { 18 public: 19 virtual void A(L *listener) [[gnu::__stdcall__]] = 0; // { dg-warning "ignored" } 20 virtual void R(L *listener) [[gnu::__stdcall__]] = 0; // { dg-warning "ignored" } 21 }; f(bool aAdd)22void P::f(bool aAdd) 23 { 24 F addRemoveEventListener = (aAdd ? &T::A : &T::R); 25 } 26