blob: 0a28354f5dd42a5e54c1f1485a0d8df364111c41 [file] [log] [blame]
// PR c++/43031
// { dg-options "-std=c++11 -pedantic" }
// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } }
// c++11 attributes that apply to types are ignored for now
class T;
class L { };
class P : public L
{
typedef void (T::* [[gnu::__stdcall__]] F2) (L*); // { dg-warning "ignored" }
typedef void (T::*F) (L*) [[gnu::__stdcall__]]; // { dg-warning "ignored" }
void f(bool aAdd);
};
class T
{
public:
virtual void A(L *listener) [[gnu::__stdcall__]] = 0; // { dg-warning "ignored" }
virtual void R(L *listener) [[gnu::__stdcall__]] = 0; // { dg-warning "ignored" }
};
void P::f(bool aAdd)
{
F addRemoveEventListener = (aAdd ? &T::A : &T::R);
}