Imported Upstream version 3.25.0
[platform/upstream/cmake.git] / Tests / CompileFeatures / genex_test.cpp
1 #ifndef EXPECT_FINAL
2 #  error EXPECT_FINAL not defined
3 #endif
4 #ifndef EXPECT_INHERITING_CONSTRUCTORS
5 #  error EXPECT_INHERITING_CONSTRUCTORS not defined
6 #endif
7 #ifndef EXPECT_INHERITING_CONSTRUCTORS_AND_FINAL
8 #  error EXPECT_INHERITING_CONSTRUCTORS_AND_FINAL not defined
9 #endif
10 #ifndef EXPECT_OVERRIDE_CONTROL
11 #  error EXPECT_OVERRIDE_CONTROL not defined
12 #endif
13
14 #ifdef TEST_CXX_STD
15 #  if !HAVE_CXX_STD_11
16 #    error HAVE_CXX_STD_11 is false with CXX_STANDARD == 11
17 #  endif
18 #  if HAVE_CXX_STD_14 && !defined(ALLOW_LATER_STANDARDS)
19 #    error HAVE_CXX_STD_14 is true with CXX_STANDARD == 11
20 #  endif
21 #  if HAVE_CXX_STD_17 && !defined(ALLOW_LATER_STANDARDS)
22 #    error HAVE_CXX_STD_17 is true with CXX_STANDARD == 11
23 #  endif
24 #  if HAVE_CXX_STD_20 && !defined(ALLOW_LATER_STANDARDS)
25 #    error HAVE_CXX_STD_20 is true with CXX_STANDARD == 11
26 #  endif
27 #  if HAVE_CXX_STD_23 && !defined(ALLOW_LATER_STANDARDS)
28 #    error HAVE_CXX_STD_23 is true with CXX_STANDARD == 11
29 #  endif
30 #  if HAVE_CXX_STD_26 && !defined(ALLOW_LATER_STANDARDS)
31 #    error HAVE_CXX_STD_26 is true with CXX_STANDARD == 11
32 #  endif
33 #endif
34
35 #if !HAVE_OVERRIDE_CONTROL
36 #  if EXPECT_OVERRIDE_CONTROL
37 #    error "Expect override control feature"
38 #  endif
39 #else
40 #  if !EXPECT_OVERRIDE_CONTROL
41 #    error "Expect no override control feature"
42 #  endif
43 #endif
44
45 #if !HAVE_AUTO_TYPE
46 #  error Expect cxx_auto_type support
47 #endif
48
49 #if !HAVE_INHERITING_CONSTRUCTORS
50 #  if EXPECT_INHERITING_CONSTRUCTORS
51 #    error Expect cxx_inheriting_constructors support
52 #  endif
53 #else
54 #  if !EXPECT_INHERITING_CONSTRUCTORS
55 #    error Expect no cxx_inheriting_constructors support
56 #  endif
57 #endif
58
59 #if !HAVE_FINAL
60 #  if EXPECT_FINAL
61 #    error Expect cxx_final support
62 #  endif
63 #else
64 #  if !EXPECT_FINAL
65 #    error Expect no cxx_final support
66 #  endif
67 #endif
68
69 #if !HAVE_INHERITING_CONSTRUCTORS_AND_FINAL
70 #  if EXPECT_INHERITING_CONSTRUCTORS_AND_FINAL
71 #    error Expect cxx_inheriting_constructors and cxx_final support
72 #  endif
73 #else
74 #  if !EXPECT_INHERITING_CONSTRUCTORS_AND_FINAL
75 #    error Expect no combined cxx_inheriting_constructors and cxx_final support
76 #  endif
77 #endif
78
79 int main()
80 {
81 }