| // RUN: %clang_cc1 -fsyntax-only -Wall -verify %s |
| // RUN: %clang_cc1 -fsyntax-only -Wself-assign -verify %s |
| // RUN: %clang_cc1 -fsyntax-only -Wself-assign-overloaded -verify %s |
| // RUN: %clang_cc1 -fsyntax-only -Wall -Wno-self-assign-overloaded -DSILENCE -verify %s |
| // RUN: %clang_cc1 -fsyntax-only -Wself-assign -Wno-self-assign-overloaded -DSILENCE -verify %s |
| // RUN: %clang_cc1 -fsyntax-only -Wself-assign-overloaded -Wno-self-assign-overloaded -DSILENCE -verify %s |
| |
| struct S {}; |
| |
| void f() { |
| S a; |
| #ifndef SILENCE |
| a = a; // expected-warning{{explicitly assigning}} |
| #else |
| // expected-no-diagnostics |
| a = a; |
| #endif |
| } |