37 lines · cpp
1// RUN: %clang_cc1 -triple=x86_64-pc-unknown -fsyntax-only -verify %s2 3// Non-x86 targets ignore the calling conventions by default (but will warn4// when one is encountered), so we want to make sure the virtual overrides5// continue to work.6namespace PR14339 {7 class A {8 public:9 virtual void __attribute__((thiscall)) f(); // expected-warning {{'thiscall' calling convention is not supported for this target}}10 };11 12 class B : public A {13 public:14 void __attribute__((cdecl)) f();15 };16 17 class C : public A {18 public:19 void __attribute__((thiscall)) f(); // expected-warning {{'thiscall' calling convention is not supported for this target}}20 };21 22 class D : public A {23 public:24 void f();25 };26 27 class E {28 public:29 virtual void __attribute__((stdcall)) g(); // expected-warning {{'stdcall' calling convention is not supported for this target}}30 };31 32 class F : public E {33 public:34 void g();35 };36}37