// RUN: %clang_cc1 -fsyntax-only -verify %s
// RUN: %clang_cc1 -fcuda-is-device -fsyntax-only -verify %s

#include "Inputs/cuda.h"

// We don't allow destructors to be overloaded.  Making this work would be a
// giant change to clang, and the use cases seem quite limited.

struct A {
  ~A() {} // expected-note {{previous definition is here}}
  __device__ ~A() {} // expected-error {{destructor cannot be redeclared}}
};

struct B {
  __host__ ~B() {} // expected-note {{previous definition is here}}
  __host__ __device__ ~B() {} // expected-error {{destructor cannot be redeclared}}
};

struct C {
  __host__ __device__ ~C() {} // expected-note {{previous definition is here}}
  __host__ ~C() {} // expected-error {{destructor cannot be redeclared}}
};

struct D {
  __device__ ~D() {} // expected-note {{previous definition is here}}
  __host__ __device__ ~D() {} // expected-error {{destructor cannot be redeclared}}
};

struct E {
  __host__ __device__ ~E() {} // expected-note {{previous definition is here}}
  __device__ ~E() {} // expected-error {{destructor cannot be redeclared}}
};

