summaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/ms-thunks-variadic-return.cpp
blob: ae306ab4e0b4cbe7e2e243162650e2f0e2bda6e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
// RUN: %clang_cc1 -fno-rtti-data -triple x86_64-windows-msvc -emit-llvm-only %s -verify

// Verify that we error out on this return adjusting thunk that we can't emit.

struct A {
  virtual A *clone(const char *f, ...) = 0;
};
struct B : virtual A {
  // expected-error@+1 2 {{cannot compile this return-adjusting thunk with variadic arguments yet}}
  B *clone(const char *f, ...) override;
};
struct C : B { int c; };
C c;