blob: 8e23404552f53256c0e8ac0d820f41ba02d0d28b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
// RUN: %clang_cc1 -std=c++20 -Wdeprecated-declarations -verify %s
struct A {
[[deprecated("use something else")]] int x = 42; // expected-note {{marked deprecated here}}
};
A makeDefaultA() { return {}; } // ctor is implicit → no warn
A copyA(const A &a) { return a; } // copy-ctor implicit → no warn
void assignA() {
A a, b;
a = b; // copy-assign implicit → no warn
}
void useA() {
A a;
(void)a.x; // expected-warning {{is deprecated}}
}
// Explicitly-defaulted ctor – now silent
struct B {
[[deprecated]] int y;
B() = default; // no warning under new policy
};
|