// RUN: %clang_cc1 -triple=x86_64-pc-unknown -fsyntax-only -verify %s // Non-x86 targets ignore the calling conventions by default (but will warn // when one is encountered), so we want to make sure the virtual overrides // continue to work. namespace PR14339 { class A { public: virtual void __attribute__((thiscall)) f(); // expected-warning {{calling convention 'thiscall' ignored for this target}} }; class B : public A { public: void __attribute__((cdecl)) f(); }; class C : public A { public: void __attribute__((thiscall)) f(); // expected-warning {{calling convention 'thiscall' ignored for this target}} }; class D : public A { public: void f(); }; class E { public: virtual void __attribute__((stdcall)) g(); // expected-warning {{calling convention 'stdcall' ignored for this target}} }; class F : public E { public: void g(); }; } |