Remove N3639 "array of runtime length" from -std=c++14.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / attr-deprecated-neg.C
blob369f3df9961a27dda9f4255237fff06a0714f170
1 // { dg-do compile { target c++11_only } }
2 // { dg-options "-pedantic" }
4 class [[deprecated]] A // { dg-warning "'deprecated' is a C..14 feature" }
6 };
8 [[deprecated]] // { dg-warning "'deprecated' is a C..14 feature" }
9 int
10 foo(int n)
12   return 42 + n;
15 class [[deprecated("B has been superceded by C")]] B // { dg-warning "'deprecated' is a C..14 feature" }
19 [[deprecated("bar is unsafe; use foobar instead")]] // { dg-warning "'deprecated' is a C..14 feature" }
20 int
21 bar(int n)
23   return 42 + n - 1;
26 #if __cplusplus > 201103L
28 //  Deprecate C for C++14 onwards.
29 class [[deprecated]] C;
31 //  Deprecate foobar for C++14 onwards.
32 [[deprecated]]
33 int
34 foobar(int n);
36 #endif
38 class C
42 int
43 foobar(int n)
45   return 43 + n - 1;
48 int
49 main()
51   A aaa; // { dg-warning "is deprecated" }
52   int n = foo(12); // { dg-warning "is deprecated" }
54   B bbb; // { dg-warning "is deprecated" }
55   int m = bar(666); // { dg-warning "is deprecated" }
57   C ccc; // { dg-warning "is deprecated" "" { target { c++14 } } }
58   int l = foobar(8); // { dg-warning "is deprecated" "" { target { c++14 } } }