1 // { dg-do compile { target c++11_only } }
2 
3 // C++14 features:
4 
5 #ifndef __cpp_binary_literals
6 #  error "__cpp_binary_literals" // { dg-error "error" }
7 #endif
8 
9 #ifndef __cpp_init_captures
10 #  error "__cpp_init_captures" // { dg-error "error" }
11 #endif
12 
13 #ifndef __cpp_generic_lambdas
14 #  error "__cpp_generic_lambdas" // { dg-error "error" }
15 #endif
16 
17 #ifndef __cpp_decltype_auto
18 #  error "__cpp_decltype_auto" // { dg-error "error" }
19 #endif
20 
21 #ifndef __cpp_return_type_deduction
22 #  error "__cpp_return_type_deduction" // { dg-error "error" }
23 #endif
24 
25 #ifndef __cpp_aggregate_nsdmi
26 #  error "__cpp_aggregate_nsdmi" // { dg-error "error" }
27 #endif
28 
29 #ifndef __cpp_variable_templates
30 #  error "__cpp_variable_templates" // { dg-error "error" }
31 #endif
32 
33 #ifndef __cpp_digit_separators
34 #  error "__cpp_digit_separators" // { dg-error "error" }
35 #endif
36 
37 #ifndef __cpp_sized_deallocation
38 #  error "__cpp_sized_deallocation" // { dg-error "error" }
39 #endif
40 
41 // C++17 features:
42 
43 #ifndef __cpp_namespace_attributes
44 #  error "__cpp_namespace_attributes" // { dg-error "error" }
45 #endif
46 
47 #ifndef __cpp_nested_namespace_definitions
48 #  error "__cpp_nested_namespace_definitions" // { dg-error "error" }
49 #endif
50 
51 
52 //  Array TS features:
53 
54 #ifndef __cpp_runtime_arrays
55 #  error "__cpp_runtime_arrays" // { dg-error "error" }
56 #endif
57 
58 //  C++14 attributes:
59 
60 //  Attribute [[deprecated]] is allowed in C++11 as an extension.
61 //#ifdef __has_cpp_attribute
62 //#  if __has_cpp_attribute(deprecated) == 201309
63 //#    error "__has_cpp_attribute(deprecated)" // {  }
64 //#  endif
65 //#else
66 //#  error "__has_cpp_attribute"
67 //#endif
68