Clang Project

clang_source_code/test/SemaCXX/warn-self-assign-overloaded-disable.cpp
1// RUN: %clang_cc1 -fsyntax-only -Wall -verify %s
2// RUN: %clang_cc1 -fsyntax-only -Wself-assign -verify %s
3// RUN: %clang_cc1 -fsyntax-only -Wself-assign-overloaded -verify %s
4// RUN: %clang_cc1 -fsyntax-only -Wall -Wno-self-assign-overloaded -DSILENCE -verify %s
5// RUN: %clang_cc1 -fsyntax-only -Wself-assign -Wno-self-assign-overloaded -DSILENCE -verify %s
6// RUN: %clang_cc1 -fsyntax-only -Wself-assign-overloaded -Wno-self-assign-overloaded -DSILENCE -verify %s
7
8struct S {};
9
10void f() {
11  S a;
12#ifndef SILENCE
13  a = a; // expected-warning{{explicitly assigning}}
14#else
15  // expected-no-diagnostics
16  a = a;
17#endif
18}
19