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 
8 class A {
9 public:
10   int x;
11   A() = default;
12   ~A() = default;
13   A(const A &other) = delete;
14 
15   template <typename T>
SetX(T x)16   void SetX(T x) {
17     this->x = x;
18   };
19 
20   void SetX1(int x);
21 };
22 
23 template <>
24 void A::SetX(A x) = delete;
25 
26 class B {
27 public:
28   B() = default;
29   ~B() = default;
30   B(const B &other);
31 };
32 
33 B::B(const B &other) = default;
34