// { dg-do compile { target c++1y } } class [[deprecated]] A { }; [[deprecated]] int foo(int n) { return 42 + n; } class [[deprecated("B has been superceded by C")]] B { }; [[deprecated("bar is unsafe; use foobar instead")]] int bar(int n) { return 42 + n - 1; } #if __cplusplus > 201103L // Deprecate C for C++14 onwards. class [[deprecated]] C; // Deprecate foobar for C++14 onwards. [[deprecated]] int foobar(int n); #endif class C { }; int foobar(int n) { return 43 + n - 1; } int main() { A aaa; // { dg-warning "is deprecated" } int n = foo(12); // { dg-warning "is deprecated" } B bbb; // { dg-warning "is deprecated" "B has been superceded by C" } int m = bar(666); // { dg-warning "is deprecated" "bar is unsafe; use foobar instead" } C ccc; // { dg-warning "is deprecated" } int l = foobar(8); // { dg-warning "is deprecated" } }