1// RUN: %clang_cc1 -std=c++11 -verify %s -Wunused-parameter
2
3// PR19303 : Make sure we don't get a unused expression warning for deleted and
4// defaulted functions
5
6// expected-no-diagnostics
7
8class A {
9public:
10  int x;
11  A() = default;
12  ~A() = default;
13  A(const A &other) = delete;
14
15  template <typename T>
16  void SetX(T x) {
17    this->x = x;
18  };
19
20  void SetX1(int x);
21};
22
23template <>
24void A::SetX(A x) = delete;
25
26class B {
27public:
28  B() = default;
29  ~B() = default;
30  B(const B &other);
31};
32
33B::B(const B &other) = default;
34